作者 | 主题 |
---|---|
空果仁 侠圣 经验值: 4927 发帖数: 210 精华帖: 47 |
楼主 2019-01-02 10:07:29
主题:同样的程序在不同PLC中有不同的响应_补充 还是这句话, PLC编程是基于硬件系统的,熟悉编程的方法还更需要注意不同硬件的特性。 看到有的工程师说是单线程的问题,还有的说可能是IN/OUT的问题或者是通信与PLC扫描周期不匹配的问题,如果是这样IN/OUT就不能使用了,否则程序就会不稳定,但是我们再想一想,IN/OUT在HMI中被大量使用,给PLC赋值后再读回是通常的做法,如果选择OUT类型,赋值后,在画面上显示的只是写的值而非PLC中实际的值,例如赋值MW2为11,在PLC中MW2被改写为13了,而在画面中显示的任然是11,这样反而更不可靠。如果说不可靠,可以再看一个示例,在原有的基础上再添加一个数组变量,方式方法相同,参考图1 图1
然后在OB1中调用,赋值MW2和AA.aa(数据块DB的一个数组变量,参考图3)如图2所示。 图2 图3 在HMI或者TIA 博途监控表改变MW2或者AA.aa的值,MW2有时连续多次才能修改成功,而AA.aa每次都是成功的,这样可以消除上面的疑问了。
来自西门工业子技术支持 高级专家
|
黑猫警长W 至圣 经验值: 18391 发帖数: 2409 精华帖: 1 |
1楼 2019-01-02 10:41:40
主题:回复:同样的程序在不同PLC中有不同的响应_补充 我也试试! |
WWCWWC 至圣 经验值: 71965 发帖数: 8035 精华帖: 145 |
2楼 2019-01-02 10:52:45
主题:回复:同样的程序在不同PLC中有不同的响应_补充 先说说所谓同一个程序在“同一种设备”上的使用,因为看似相似设备,由于外部传感器的特性所致,一般会有一些区别,就是说到实际应用时,对特定的设备可能会有差异的,曾经在调试多台同型号的设备中有过类似的经历,所以,相同设备就存在不同的程序,当然这个区别是小的,或者说只能是部分。 至于楼主说到具体的I/O域,这个确实是需要这样来做,才能够实时“反映”具体数据的运行情况。 |
天芯 至圣 经验值: 18851 发帖数: 2106 精华帖: 0 |
3楼 2019-01-02 11:03:53
主题:回复:同样的程序在不同PLC中有不同的响应_补充 感谢楼主分享! |
不断攀登 至圣 经验值: 12543 发帖数: 1843 精华帖: 0 |
4楼 2019-01-02 11:19:18
主题:回复:同样的程序在不同PLC中有不同的响应_补充 感谢分享!!
邮箱 yongquancun@126.com
|
KITT 奇侠 经验值: 9334 发帖数: 1238 精华帖: 13 |
5楼 2019-01-02 13:24:56
主题:回复:同样的程序在不同PLC中有不同的响应_补充 唉!还是太年轻,看来理解错误,下班了再查资料,如果基于硬件的话那么是不是必须要真实cpu才能模拟,如果用仿真器模拟也是这个问题那么是不是在于执行的区别。我也感觉好像有点不合理。我初次认为是通信处理器与cpu在进行数据交互时产生的问题而规避问题在于类似初始化或者配方值给定过程值后锁定中途的再次赋值指令,细想有些情况还真有出现在中途赋值情况。为啥是非保持如果mw换成db也是一样的问题。。再深入一下待补充 模拟器初试了一下根本写不进去我没有一次成功过即使把WAIT复制了好几个,如果删掉MW2直接赋值DB背景地址是可以的,如果把CPU最小扫描周期调大也是可以写成功的,这个问题还是个谜。 1为啥ARRAY与常规数据类型得到不同的结果?这个问题暂时挂起从数据类型介绍入手没发现相关性,待深入 2、从博图的帮助寻找有关接口访问结束及差异尤其是ARRAY数据类型在INOUT下与常规数据类型访问区别,待深入 3、通信与程序扫描优先级及处理顺序,是否存在BUFFER区域还是直接读写数据块,或者由于数据写入时反馈一个类似忙的信号数据写入被中断丢弃 4、数据一致性问题如果在多个S7通信访问同一个变量在处理上有何区别,深入S7通信相关时序资料 5.这到底是BUG还是CPU数据交换或者处理上的优化,还没有在300上测试这个问题。对于PG OP通信有这个问题那么PUT GET也应该有这个问题那应该不在于通信在在于数据交互。
SIMATIC!
|
yzm_cumt 至圣 经验值: 18275 发帖数: 2653 精华帖: 14 |
6楼 2019-01-02 13:31:28
主题:回复:同样的程序在不同PLC中有不同的响应_补充
sometimes you have to be your own hero!
|
yecao2006 至圣 经验值: 18037 发帖数: 1524 精华帖: 2 |
7楼 2019-01-03 10:43:49
主题:回复:同样的程序在不同PLC中有不同的响应_补充 不是很明白。
我回来了!继续努力!
|
空果仁 侠圣 经验值: 4927 发帖数: 210 精华帖: 47 |
8楼 2019-01-03 16:20:53
主题:回复:同样的程序在不同PLC中有不同的响应_补充 问题的开始是S7-300的项目移植,移植后发现由HMI对FB块的输入/输出参数直接赋值,需要要多次才可以将值传到PLC中。
来自西门工业子技术支持 高级专家
|
幻影长矛手 游侠 经验值: 597 发帖数: 93 精华帖: 0 |
9楼 2019-01-03 19:19:43
主题:回复:同样的程序在不同PLC中有不同的响应_补充
业精于勤,荒于嬉;行成于思,毁于随
|
空果仁 侠圣 经验值: 4927 发帖数: 210 精华帖: 47 |
15楼 2019-01-10 12:42:13
主题:回复:同样的程序在不同PLC中有不同的响应_补充 这是一个用户遇到的问题,示例程序的目的是尽快进入主题,体现问题的所在,实际程序比较复杂。另外在F-BLOCK中也有IN/OUT的参数,在西门子网站上有FAQ,这样使用F-CPU会进入停机模式。
来自西门工业子技术支持 高级专家
|
星动行働 侠士 经验值: 1384 发帖数: 213 精华帖: 0 |
16楼 2019-01-21 20:44:32
主题:回复:同样的程序在不同PLC中有不同的响应_补充 FB功能块中,接口区域的定义选择确实是有许多细节的地方需要注意的,Input ,Output和 InOut不同,Static和Temp不同,只有在用的时候才能发现更多的细节差异,得慢慢总结了。
勤奋吃苦,是最好的技巧与捷径。
|