技术论坛

 跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

返回主题列表
作者 主题
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
楼主    2017-04-26 17:10:40
主题:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用 精华帖 

跟我一起玩200 smart PLC

关于指针及循环指令的应用

    前一些天,有网友提问:“把一些数据累加后,再除一个数据的编程方法,需要多次调用”。我当时考虑了一下,西门子关于带参数的子程序调用正好能够满足这样的编程需要,做起来还是比较方便的。

    今天,刚好手头上有一个西门子200 PLC,于是着手先编辑这样一个程序。按网友的要求是对一些数据的累加,最后除以一个被除数。我在回复那位网友中也提到了对于一些连续的数据可以实现带参数的子程序编程。

编程思路:

初始化数据、指定指针入口、利用循环指令、对接口数据的用户数量进行累加、循环次数的比较结果进行除法计算,退出循环指令。

将一串连续的数据VW0、VW2、、、、、、10个数据累加,然后再除以一个数。

假设我按VW0 = 10;VW2 = 20;VW4 = 30;这样累加10个数据得到550这个数,再除以一个数据,假设是10,如果程序执行正确,那结果应该是55。

1)首先新建一个子程序,并在接口变量表中定义变量,其中,定义符号、数据类型、必要时做一些注释,方便在编辑程序时理解,图示:




比较循环次数结果达到循环次数,退出循环指令,图示:



完整的子程序,图示:



2)在主程序中调用这个子程序,图示:



3)在状态表中新建相关的变量数据,图示:



4)输入自VW0开始的10个数据,并连接M0.0,看结果数据存放地址VD100的数据,图示:



从状态表中可以看到结果VD100 = 55,可以实现控制要求。

西门子200的程序可以直接用200smart 软件打开。


shine
至圣

经验值: 19840
发帖数: 8834
精华帖: 39
1楼    2017-04-27 23:29:37
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

既然用了FOR/NEXT,就没有必要再用比较来跳出循环了吧?

直接把除法指令放到NEXT后。

还有一个小建议,数值类型的不要定义为word,而是用int,虽然在200中这两者使用上基本没有区别,不做类型检查,在博途中如果打开IEC检查,word就不能用于数学运算指令

WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
2楼    2017-04-29 09:51:29
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

有一个问题值得深思,放在for/next指令内部或者外部并不重要,重要的是这个除法如何应用,假设每次循环时被除计算精度需要权衡。

以上面的程序为例,假设是浮点数每次都除,和10次累加后除的结果是不同的,如果是乘法计算区别就更大了。

leon1120
侠圣

经验值: 2033
发帖数: 189
精华帖: 1
3楼    2017-05-01 21:41:27
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

感谢分享,学习了

啊芳
侠圣

经验值: 3339
发帖数: 148
精华帖: 0
4楼    2017-05-02 09:04:30
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

我赞同1楼WORD类型改为int类型的说话,但楼主的.在浮点数数据运算中有关先加减或乘最后再除的处理方法是对的,因为当数据为小数特别是数据不能被整除时涉及到数据结果的四舍五入问题,因此我的观点是:两种方法可行,要注意其适应使用条件,总之,计算的结果精确度符号要求即可,为两位的精辟说明点赞!

学习每一天!
WWCWWC
至圣

经验值: 71992
发帖数: 8037
精华帖: 145
5楼    2017-05-02 09:51:01
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

非常抱歉,由于一时的粗心没有仔细校验,就将不合理的数据类型程序上传了,内心愧疚,,望多多包涵。

已经修改过来了。

电工老陈
游士

经验值: 187
发帖数: 23
精华帖: 0
6楼    2017-05-03 22:24:39
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用



都是高手啊,羡慕~~~膜拜中

旧游无处不堪寻;无寻处,惟有少年心。
电工老陈
游士

经验值: 187
发帖数: 23
精华帖: 0
7楼    2017-05-04 00:44:29
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

已经输入编程器了,慢慢研究,谢谢。


旧游无处不堪寻;无寻处,惟有少年心。
学前班一员
侠客

经验值: 849
发帖数: 56
精华帖: 1
8楼    2017-05-05 09:54:35
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用

太好了,最近空闲时间多,敲上去我也研究研究尽量以后可以应用


老人新手上路,请不辞吝教
conquer3
奇侠

经验值: 5057
发帖数: 453
精华帖: 3
9楼    2017-05-05 11:43:38
主题:回复:跟我一起玩200 smart PLC---- 关于指针及循环指令的应用


学习了,感谢楼主无私分享。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。