PLC编程优化设计使程序运行提速

最新更新时间:2022-05-26来源: elecfans关键字:PLC  编程  优化设计  提速 手机看文章 扫描二维码
随时随地手机看文章

  通过本方法优化可以极大的减少程序语句数,使plc程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。


  缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。


  同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。具体步骤如下:


  1:根据工程实际需求,进行功能块规划,编写子程序

  在PLC中子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,程序的扫描就仅在主程序中进行,不再去扫描这段子程序,这样就减少不必要的扫描时间。

  2:用字或双字数据传送给DO点方法来控制输出

  在PLC的应用中通常都会有大量的输出控制,用字或双字数据传送给DO点方法来控制输出可以提高速度,只要根据实际应用的要求,合理分配输出地址,变换控制输出控制字,可以大大减少PLC程序执行的步数,从而加快PLC的程序运行速度。

  3:脉冲触发SET、RESET

  PLC中,使用SET指令只执行一次即可,不必每次扫描都执行这个指令,很适合与脉冲输出(PLS/PLF)指令配合使用。有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间。

  4:避免了类型转换,方法如下:

  以S7-200为例,它的内存格式与我们常用的PC机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。


  如我们定义符号时将字变量定义在VW2,同时保持VW0的值为零。则程序中可以用VW2以字型访问该变量,同时也可以VD0以双字型访问,避免了类型转换。


  为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀:b————字节型变量(byte)

  w————字型变量(word)

  d————双字变量(double)

  r————实型变量(real)

  f————位变量(flag)

  btn——-自复位按钮式输入(button)

  sw————切换开关或自锁按钮输入(switch)

  sig——-传感器、编码等电平信号输入(signal)

  rly——-输出继电器位(relay)

  ……

  当然,这个根据个人习惯来,没有定则,主要是利于自己区分。

  假如有一个字类型变量名为VarName,为使用前面的转换技巧,我们可以这样定义:

  wVarName————VW2

  dVarName————VD0


  在程序初始化时将VW0清零(如果是不需要记忆的变量,直接将dVarName清零也可)或者在数据块中将VW0设置为零。则以后需要以字类型访问变量时就用wVarName,需要以双字类型访问变量时就用dVarName。完全不需要类型转换。


  本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。


  缺点是要多占用两字节的内存,以后程序中不能使用VW0。但S7-200的RAM空间很大,一般是用不完的,以226为例,有多达10K的RAM,偶从来没有超过1K。这些RAM都是花钱买来的,不用白不用,不用也是浪费了。


  同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的内存宽度浪费一个字节,避免类型转换。


关键字:PLC  编程  优化设计  提速 编辑:什么鱼 引用地址:PLC编程优化设计使程序运行提速

上一篇:三菱plc的电磁干扰的主要来源和途径
下一篇:PLC取相反值命令是什么?

推荐阅读

plc输出为啥接的是交流220v?
plc接220v的继电器,最直接的原因就是plc输出的是交流220v,为啥会是交流220v的!如果数字量输出模块是继电器输出类型的!公共端接的是220v的公共端的话,那么输出就是220v,如果公共端接24v,输出就接24v,如果公共端已经接了220v了,后续加入的输出都要用220v的,这就导致输出上无法接24v的继电器,除非不在同一个公共端,这样可以更改公共端的接线!但是为了现场统一和维修维护的方便,输出公共端尽量统一,尽量使用安全电压输出!220v输出的plc用的很少,但是也不排除没有用的!一般老旧设备或者有特殊需求的!现在一般都是dc24v输出了!
发表于 2022-11-28
三菱PLC实现定位控制的编程方法
定位概要FX3G · FX3U · FX3GC · FX3UC可编程控制器可以向伺服电机、步进电机等输出脉冲信号, 从而进行定位控制。脉冲频率高的时候, 电机转得快;脉冲数多的时候, 电机转得多。用脉冲频率、 脉冲数来设定定位对象(工件)的移动速度或者移动量。定位基本图形1.基本单元(晶体管输出)FX3G · FX3U · FX3GC · FX3UC可编程控制器中内置定位功能。从通用输出(Y000~Y002)输出最大100kHz的集电极开路方式的脉冲串, 可同时控制3轴*1的伺服电机或者步进 电机。2. 特殊适配器特殊适配器使用FX3U可编程控制器内置的定位功能,输出最大200kHz的差动线性驱动方式的脉冲串,可同时控 制4轴的伺服
发表于 2022-11-28
三菱<font color='red'>PLC</font>实现定位控制的<font color='red'>编程</font>方法
浅谈PLC与接近开关接线方法
由于plc的输入分为NPN输入和PNP输入两种类型,因此,接近开关也分为NPN和PNP两种类型,只有接近开关的类型和PLC的输入类型接法一致时,当有物体接近的时候,PLC才会有输入信号。一般日韩系的接近开关默认是NPN型,欧美系的接近开关默认是PNP型,接近开关不同于PLC ,无论是日韩系还是欧美系,每一款接近开关都有NPN和PNP两种类型。而PLC不可能有NPN型和PNP型,这是因为PLC 的极性可以通过接线改变,而接近开关一旦固定,是无法更改的。这就是常见的接近开关,它为圆柱形,一般来说,它的直径越粗,检测距离越远。根据检测物体的不同,接近开关分为电感性和电容性两种,电感性接近开关是利用霍尔效应,检测磁场的变化,由于金属才能引起
发表于 2022-11-28
浅谈<font color='red'>PLC</font>与接近开关接线方法
西门子PLC实例讲解:电路图、设计步骤
一、设计思路PART011、用PLC控制一维运动平台实现电机的自动正反转运行及手动正反转运行;2、一维运动平台的行程两端各有一行程开关,分别定义为正向限位和负向限位;3、在电机自动正反转运行前,需对电机进行复位。复位的过程是:启动电机往负向运行,运行至负向限位后,往正向运行一段距离,将该位置作为电机自动正反转运行的初始位置;4、复位完成后,按下正转按钮,电机往正向运行一段距离(该距离通过运动包络参数设定),到位后停止。按下反转按钮,电机往负向运行一段距离,到位后停止;5、如正反转运行过程中,触动行程开关,电机停止运行。此时可通过手动正反转按钮控制电机运行离开限位开关,或按下复位按钮对平台重新复位;6、触动行程开关后,需重新复位才能进
发表于 2022-11-28
西门子<font color='red'>PLC</font>实例讲解:电路图、设计步骤
PLC控制系统基本构成框图及接线
1.按图接线,这条说是最高准则也不为过。首先,在接线之前就必须先仔细阅读图纸,充分领会设计者的意图,而不是根据个人所谓丰富经验接线,如果发现不明之处或者矛盾之处应该第一时间与设计师联系确认,直到无误后,接线施工。2.接线顺序要清晰明了,流程简单具有可检查性。这一条在实际中能做到的很少,基本都是线头一接,盒子一盖完事。3.多多学习接线技巧,善于灵活运用专业工具。例如:Q:我们在做PLC柜时,接线板和接线端子很多,处理不好会有松动、毛刺等现象,是直接剥去线皮压入,还是使用插针,还是粘锡。A:单芯线剥皮后直接压入,多芯线用冷压端子,不建议搪锡;Q:PLC的扩展模块比较多时,公共端和供电端的接线是如何处理的,是通过每个PLC模块上的端子直接
发表于 2022-11-28
<font color='red'>PLC</font>控制系统基本构成框图及接线
9个PLC编程程序调试及结果分析
一、小车往返运动用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一边的行程开关后又做返回运动 。如此的往返运动,直到当按下停车按钮后小车停止运动。▲电气接线图I/O分配表梯形图程序PLC接线图程序调试及结果分析▲控制平台操作面板当按下SB2即i0.0(鼠标点击i0.0f)接通后,Q0.0接通,小车右行(即指示 灯 Q0.0 亮)。当小车运行碰到右限位开关SQ2即i0.4(用鼠标点击i0.4f,模拟SQ2被压下)接通,此时小车左行(指示灯Q0.0灭,指示灯Q0.1亮),当运行到左边碰到左限位SQ1即i0.
发表于 2022-11-28
9个<font color='red'>PLC</font><font color='red'>编程</font>程序调试及结果分析

推荐帖子

关于雷击浪涌
各位大佬,一类的产品用了二类的电源,电源的雷击浪涌宣称为差模2KV,那么共模雷击等级是需要另外在做防雷电路吗??求大佬普及一下这方面的知识。 关于雷击浪涌
xuanyuanzhu 电源技术
MSP43FG4618的DAC交叉控制的问题
各位大侠,小弟现在的4618的DAC0不能实现从Pin10输出,按照spec上面设置的OPS=0,1来选择output是Pin10还是Pin5根本没有作用,我问了lierda公司的工程师,他们的4618也有类似的问题。求哪位大侠做过的不吝指点。MSP43FG4618的DAC交叉控制的问题
huanghui_8 微控制器 MCU
TI - MCU - MSP430使用指南4 -> PMM&SVS 电源管理监控模块
此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处MSP430中PowerManagementModule(PMM)和SupplyVoltageSupervisor(SVS)负责内核电压的生成和监控,同时根据不同的模式可以设置相应的初始化方式。首先分析一下PMM和SVS功能:根据MSP430MCU资料或者其他厂商MCU资料我们可以发现,对于3.3V电源的MCU的供电电压都是1.8V–3.6V这个电压范围。其实对
骑IC看MCU 微控制器 MCU
大开眼界——三星SCC-643AP
此款三星快球国内用量比较大的,其谈不上性能有多优异,功能有多强,图像有多清楚。拆开看其做工精良,工艺不错,尤其系电机传动采用涡轮蜗杆结构,连PELCO也没采用,以前本人见过panasonic,sony,AD球采用过此种传动结构。中国目前尚未发现有快球厂家在球机内采用涡轮蜗杆传动。大多数是皮带传动。涡轮蜗杆的优点在与其稳定性很高,不丢步,承载能力强,缺点即速度不如皮带传输的球机速度快。相比美国球来看,主板的芯片数量比不上美国球。图像清晰度也不如美国球,三星用自己的摄像机装在快球,美国PELCO\\
老夫子 安防电子
求助gal16v8的逻辑
各位高手,这两天使用gal16v8画原理图做一个逻辑,中间使用df触发器的输出做中间变量,为什么编译说Cannotassignoutputpinondeviceforburiednode,触发器的输出也不是最终输出,怎么就把它作为输出了?导致其他路的输出不够? 先谢谢啦!求助gal16v8的逻辑
laoniushiniu 测试/测量
请问2个二极管中间1个电容,这样的电路会烧电容吗?
左边+7V是常用电源,电流比较小,但是始终在,右边+5V正常悬空,有时候会插入,电流较大,右边的+5V会另外通过个MOS管控制断开左边的+7V,也就说正常C1上面是7V的,当5V插入的时候,7V会断开,如果+5V的通断频率太高,会不会烧C1这个电容?N1后面是TP4065充电电路 请问2个二极管中间1个电容,这样的电路会烧电容吗?
sky999 PCB设计
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved