• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
wlmissyou
级别: 探索解密
精华主题: 0
发帖数量: 62 个
工控威望: 165 点
下载积分: 1279 分
在线时间: 99(小时)
注册时间: 2017-06-11
最后登录: 2024-11-26
查看wlmissyou的 主题 / 回贴
楼主  发表于: 2021-11-17 20:41
【S7-200 Smart开源标准化编程】之基础----突破子程序的限制,让子程序像FB一样工作

就算看帖的小伙伴不考虑什么标准化编程,能突破子程序的一些限制也是好的。

先说说标准化程序的要求:对象化编程,程序中不使用M,T,C,子程序内逻辑程序不可出现全局变量,更多的规则以后再说,先解决最基本问题。

我们首先看看200子程序有哪些限制:

1、最多128个子程序

这个限制是说你可以有128个子程序,不是调用限制,所以调用多少次都可以,受PLC资源限制。这个限制没法破。

2、子程序只能有16个脚

为什么会有这个限制呢?临时变量一共64个字节,如果脚上都是最大的双字数据类型,64除以4等于16,所以就有了这个16脚限制。注意最后四个字节的临时变量系统保留。咱也不知道干啥用了。那么这个限制如何破解呢,比如说把bool数据类型的变量整合成byte字节型的变量给子程序,比如连接的多个连续V区参数以指针的方式传给子程序。

3、最多嵌套8层

这个没啥说的,没法破,但一般情况下够用了。

[    post]4、带有计数器和定时器的子程序无法多次调用

高速计数器未试验过,先排除。普通的计数器其实就是整数加,整数减,破解无压力。定时器,我们用时间间隔定时器BGN_ITIME和CAL_ITIME指令实现毫秒级计时,多次调用无问题,破解无压力。

5、子程序内不能使用沿指令

虽然不能使用沿使令,但是通过梯形图逻辑可以产生沿信号,使用不受限

6、置位,复位指令使用受限

这个破解没问题。



更多的限制网友提一提,我们看看能不能破解。



200子程序多次调用总是出问题是因为什么的呢,200的子程序运行起来就是没有静态区的FC,问题就出在temp区,因为temp不会保存啊,所以我们就要划出V区来保存temp的数据,像建立FB背影数据块那样。这部分背景数区上电时清零,子程序内需要断电保持的数据要记得用INOUT脚引出。工作起来也简单,进入子程序后先将V区数据复制到temp,子程序逻辑运行完,把temp里的数据复制回V区。有伙伴会说,这不是就是带库的子程序嘛,应该是不同的。采用标准化方式的子程序必须全部无条件调用,就是每次扫描都得运行。



这里给出简单的例程:

例程中有嵌套,有标准化定时器、标准化计数器,子程序多次调用,沿信号的生成和使用

加我微信进群交流:50586625


smart200标准化实践modbus20220522.smart.zip (102 K) 下载次数:1191   
[ 此帖被wlmissyou在2022-09-15 09:08重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(y282574647) 厉害,不过看不懂
  • 下载积分:+1(hsiung) QR码过期了
  • 下载积分:+1(完美世界)
    jiangzl725
    级别: 家园常客
    精华主题: 0
    发帖数量: 513 个
    工控威望: 567 点
    下载积分: 4731 分
    在线时间: 122(小时)
    注册时间: 2021-07-04
    最后登录: 2024-11-25
    查看jiangzl725的 主题 / 回贴
    1楼  发表于: 2021-11-18 15:10
    土鳖电工
    级别: 家园常客
    精华主题: 0
    发帖数量: 432 个
    工控威望: 689 点
    下载积分: 781 分
    在线时间: 540(小时)
    注册时间: 2018-05-30
    最后登录: 2024-10-30
    查看土鳖电工的 主题 / 回贴
    2楼  发表于: 2021-11-18 15:15
    如果200rmart支持FB就好了,子程序限制太多了
    eaglesence
    eaglesence
    级别: 家园常客
    精华主题: 0
    发帖数量: 422 个
    工控威望: 703 点
    下载积分: 20174 分
    在线时间: 89(小时)
    注册时间: 2019-04-02
    最后登录: 2024-11-25
    查看eaglesence的 主题 / 回贴
    3楼  发表于: 2021-11-18 20:45
    西门子论坛搬运的吗?还是原作者?程序还是挺厉害的
    wlmissyou
    级别: 探索解密
    精华主题: 0
    发帖数量: 62 个
    工控威望: 165 点
    下载积分: 1279 分
    在线时间: 99(小时)
    注册时间: 2017-06-11
    最后登录: 2024-11-26
    查看wlmissyou的 主题 / 回贴
    4楼  发表于: 2021-11-18 20:56
    引用
    引用第3楼eaglesence于2021-11-18 20:45发表的  :
    西门子论坛搬运的吗?还是原作者?程序还是挺厉害的

    必须是原作者啊
    本帖最近评分记录:
  • 下载积分:+1(hsiung) 好贴好贴!
    zy028
    QQ1094553289
    级别: 略有小成
    精华主题: 0
    发帖数量: 106 个
    工控威望: 262 点
    下载积分: 409 分
    在线时间: 401(小时)
    注册时间: 2007-12-01
    最后登录: 2024-11-26
    查看zy028的 主题 / 回贴
    5楼  发表于: 2021-11-24 19:56
    研究的很透彻啊,牛!
    zhenzi917
    级别: 工控侠客
    精华主题: 0
    发帖数量: 1001 个
    工控威望: 3270 点
    下载积分: 1737 分
    在线时间: 297(小时)
    注册时间: 2022-01-13
    最后登录: 2024-11-26
    查看zhenzi917的 主题 / 回贴
    6楼  发表于: 2022-02-14 14:35
        
    命自我立
    lzzcym
    级别: 略有小成
    精华主题: 0
    发帖数量: 84 个
    工控威望: 203 点
    下载积分: 1029 分
    在线时间: 65(小时)
    注册时间: 2010-02-07
    最后登录: 2024-10-05
    查看lzzcym的 主题 / 回贴
    7楼  发表于: 2022-07-03 22:30
    研究的很透彻啊,牛!
    王东旭
    级别: 探索解密
    精华主题: 0
    发帖数量: 80 个
    工控威望: 111 点
    下载积分: 730 分
    在线时间: 20(小时)
    注册时间: 2020-10-16
    最后登录: 2024-08-15
    查看王东旭的 主题 / 回贴
    8楼  发表于: 2022-07-06 16:55
    能下载看看吗
    chenchun
    级别: 略有小成
    精华主题: 0
    发帖数量: 155 个
    工控威望: 276 点
    下载积分: 4373 分
    在线时间: 421(小时)
    注册时间: 2009-07-24
    最后登录: 2024-11-24
    查看chenchun的 主题 / 回贴
    9楼  发表于: 2022-08-22 22:09
    下载看看,OK.
    sjpuk
    级别: 探索解密
    精华主题: 0
    发帖数量: 20 个
    工控威望: 113 点
    下载积分: 451 分
    在线时间: 33(小时)
    注册时间: 2010-08-05
    最后登录: 2024-11-10
    查看sjpuk的 主题 / 回贴
    10楼  发表于: 2022-09-09 16:39
    这个得支持一下!!
    ldf710613
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 367 个
    工控威望: 1154 点
    下载积分: 1301 分
    在线时间: 31(小时)
    注册时间: 2022-04-09
    最后登录: 2023-12-18
    查看ldf710613的 主题 / 回贴
    11楼  发表于: 2022-09-09 16:44
    感谢分享
    • «
    • 1
    • 2
    • »
    • Pages: 1/2     Go