查看驱动的故障记录,发现每台驱动的历史纪录中有许多 代码8501(设定值超时);按说应该停机,但没有发现停机现象。
也存在 报警信息 8526 PROFINET 没有循环连接。
对于报警 A8526 估计是系统上电或拉闸过程中遗留的报警。
对于 故障8501 (设定值超时)理应是在 驱动ON之后出现的,但仔细看看故障出现时间和故障清除时间是同一时间。设备也能正常启动,真奇怪。
由此关注了 PEOFINET下的IO刷新时间
看资料,系统的刷新时间,应该由以下几个时间决定。
T1 IO设备本体的刷新时间(这里是G120-2的CU 240E-2PN)
T2 IO设备PN接口的刷新时间
T3 PN网络的刷新时间
T4 IO控制器循环扫描时间(PLC的读取PIO的刷新时间)
仔细查看各部分的时间设置如下:
6台驱动的参数中,PN网络监控时间(看门狗)100mS(默认值)
在设备组态中,每台G120驱动的接口IO周期。刷新周期选择为自动,各台并不相同,有的是2mS,有的是4mS。
看门狗时间为6mS、12mS。
图3 驱动IO周期
Zui后, PLC 1214C的发送时钟为 1mS, 而PLC的扫描周期为5-8mS.
图 PLC 扫描周期
还有一点,给定的输出,采用了40mS循环时间中断的斜率输出给定(起始从0开始)。
我的问题是:
1、这些时间周期如何设定是合理、zuijia的。
2、发送时钟1mS的含义是:每毫秒发送全部6台的控制字和设定值等等的报文,还是每毫秒发送1台的报文(轮询方式)?
3、在网络视图中,各台驱动接口的IO刷新时间是否应该手动设置为一致?
4、如何确定PN网络的刷新周期(在没有RT的情况下,是通过PING吗)?
以下描述都是通俗易懂的描述方式。
发送时钟:定义的是控制器可以说话的时间间隔
更新时间:更新时间为发送时间的倍数。
例如:PLC 定义的发送时钟是1ms,则PLC下面挂的IO站的刷新时间,Zui小是1ms,不可能比1ms还小。
如果PLC的发送时间是1ms,PLC下挂了2个分布式IO,更新时间都是2ms,那么PLC和这2个分布式IO是这样通信的。第一个发送时钟和第一个分布式IO站通信,第二个发送时钟,和第二个分布式IO站通信,依次循环。
又例如:PLC定义的发送时钟是2ms,2个分布式IO,更新时间都是2ms。则每个发送周期内,PLC要先后和2个分布式IO站完成通信。
又例如:PLC定义的发送时钟是2ms,2个分布式IO,一个更新时间是2ms,另一个是4ms,则在每个发送周期内,PLC都要和2ms更新时间的IO站通信,而4ms的站则是每两个发送周期通信一次。
在非等时模式下,PLC的程序扫描和PLC的PN接口对分布式IO站的扫描是异步的。
只有在等时模式下,才是同步的。
关于Y版的疑问,此处再详细阐释一下(通过一个略微大一点的系统):
如果PLC的发送时间是1ms,PLC下挂了4个分布式IO,更新时间都是2ms,那么PLC和这4个分布式IO是这样通信的。第N个发送时钟和其中2个分布式IO站通信,第N+1个发送时钟,和剩余2个分布式IO站通信,依次循环。。。
如果PLC的发送时间是1ms,PLC下挂了4个分布式IO,更新时间依次为1ms,2ms,4ms,4ms,那么PLC和这4个分布式IO是这样通信的:
每N发送时钟,都和1ms的IO站通信;而每N*2个周期,都和2ms的IO站通信,对于4ms的两个分布式IO,其循环时间都是4ms,但却不是在同一个发送周期内通信的,因为那样的话,此发送周期内处理的数据太多,而其它发送周期处理的数据又比较小,是错开的,CPU内部会协调此事。比如,(N+0)*4个周期和一个4ms的IO站通信,(N+2)*4个周期和另一个4ms的IO站通信。