0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过减少程序语句数来提高PLC程序运行效率

1bGT_GKYXT1508 2017-12-19 10:06 次阅读

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

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

通过减少程序语句数来提高PLC程序运行效率

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

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。完全不需要类型转换。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5010

    文章

    13277

    浏览量

    463113
  • reset
    +关注

    关注

    0

    文章

    34

    浏览量

    12878

原文标题:PLC编程优化方法,让程序运行提速!

文章出处:【微信号:GKYXT1508,微信公众号:工控云学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    提高Python运行效率的7个窍门

    直接调用str,可以避免多次执行重复编译过程,提高程序性能。正则表达式模式匹配也类似,也最好先将正则表达式模式编译成regex对象(通过re.complie()函数),然后再执行比较和匹配。7、模块编程
    发表于 07-10 16:22

    如何提高C语言程序的执行效率

    的事那么效率就高。下面说说如何提高C语言程序的执行效率。1、尽量避免调用延时函数没有带操作系统的程序只能在while(1)里面循环执行,如果
    发表于 07-20 06:39

    使用c语言给单片机编写的程序运行的时候if语句运行的快还是switch语句执行的速度快?

    请问使用c语言给单片机编写的程序运行的时候if语句运行的快,还是switch语句执行的速度快?在优化之前的人写的
    发表于 11-08 06:55

    PLC程序运行效率得到提高的方法的解析

    通过本方法优化可以极大的减少程序语句数,使PLC程序更简洁、可读性更好,由于不需要做耗时的类型转
    的头像 发表于 12-25 09:16 3938次阅读
    对<b class='flag-5'>PLC</b><b class='flag-5'>程序</b><b class='flag-5'>运行</b><b class='flag-5'>效率</b>得到<b class='flag-5'>提高</b>的方法的解析

    如何提高PLC程序运行效率详细编程方法说明

    在西门子plc中,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,
    的头像 发表于 02-03 12:57 3329次阅读
    如何<b class='flag-5'>提高</b><b class='flag-5'>PLC</b><b class='flag-5'>程序</b><b class='flag-5'>运行</b>的<b class='flag-5'>效率</b>详细编程方法说明

    plc程序的调试步骤

    模拟系统实际的输入信号,在程序运行中的适当时刻,通过手动操作开关,接通或断开输入信号,来模拟各种机械动作使检测元件状态发生变化,同时通过PLC
    发表于 09-09 16:19 1.1w次阅读
    <b class='flag-5'>plc</b><b class='flag-5'>程序</b>的调试步骤

    如何使用SQL修复语句程序说明

    本文档的主要内容详细介绍的是如何使用SQL修复语句程序说明。
    发表于 10-31 15:09 5次下载

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

    PLC中子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,
    发表于 03-24 15:57 1218次阅读

    编写plc程序的心得

    程序调试过程**(**别是设备改造时,你的程序是加入到原来设备的程序中时), 当程序语句中出现 条件满足, 而 输出线圈不接通 时, 可以
    发表于 04-04 17:14 780次阅读

    提高PLC程序运行有什么方法

    。 如何提高PLC程序运行速度,可以采用以下编程方法,仅供参考: 1.根据项目实际需要,制定功能块规划,编写子程序。 在
    发表于 01-10 15:57 795次阅读

    如何提高单片机程序执行效率

    更短的时间内完成相同的事那么效率就高。 关于如何提高C语言程序的执行效率,有如下建议: 1.尽量避免调用延时函数 没有带操作系统的程序只能在
    发表于 02-11 15:42 6次下载
    如何<b class='flag-5'>提高</b>单片机<b class='flag-5'>程序</b>执行<b class='flag-5'>效率</b>

    通过智能设计运行提高工作效率

    电子发烧友网站提供《通过智能设计运行提高工作效率.pdf》资料免费下载
    发表于 09-14 09:34 0次下载
    <b class='flag-5'>通过</b>智能设计<b class='flag-5'>运行</b><b class='flag-5'>提高工作效率</b>

    PGO到底是什么?PGO如何提高应用程序性能呢?

    PGO到底是什么?PGO如何提高应用程序性能呢? PGO,全称为Profile Guided Optimization,译为“基于特征优化”的威廉希尔官方网站 ,是一种通过利用应用程序
    的头像 发表于 10-26 17:37 2076次阅读

    python写完程序之后怎么运行

    Python是一门简洁、易学的编程语言,被广泛应用于数据分析、人工智能等领域。在学习Python编程的过程中,了解程序运行机制是至关重要的。本文将详尽解析Python程序运行过程,
    的头像 发表于 11-22 11:10 1002次阅读

    通过物通博联PLC远程调试网关实现PLC远程升级程序

    远程调试网关,实现了PLC远程升级程序的功能,提高了生产效率,降低了运营成本,并使PLC的升级和维护更加便捷。 物通博联
    的头像 发表于 03-09 17:19 535次阅读
    <b class='flag-5'>通过</b>物通博联<b class='flag-5'>PLC</b>远程调试网关实现<b class='flag-5'>PLC</b>远程升级<b class='flag-5'>程序</b>