选择正确的通信服务(协议)-(1)
文章发出以后,看到有的朋友回帖说:“老崔这么老了还要出专栏”,没有办法,再老也是一个兵呀,当兵就得扛枪打仗,同样作为一个老工程师也得知识分享呀,所有下面还得接着讲故事。
有一次碰到一个用户需要简单的定位控制,由于S7-1500没有脉冲输出的定位方式,所以选择一个S7-1200作为定位控制器,再选择一个S7-1500作为主控PLC,S7-1500与S7-1200进行通信。用户反映正常的情况下没有问题,一旦S7-1500与S7-1200通信中断后,S7-1200控制的定位操作也不工作了,定位与通信没有关系,怎么能影响到定位控制?我说肯定有关系,问用户定位操作的设定值是谁给的,用户回答说是S7-1500经过计算发出的,我又问用户,S7-1500与S7-1200是不是使用PROFINET IO进行通信的,用户回答说是,我说这就是问题的所在了,因为主从通信的特点是快速、通信数据量小,但是通信故障后,主站发送的设定值就会清零,如果S7-1200定位的使能信号也是S7-1500发送的,定位操作不就不能工作了吗?这里可以选择主主的通信方式避免这样的问题,例如S7通信或者TCP通信等。
还有一个用户说,现场设备故障后,主控室的操作人员要立刻按按钮操作,是不是要选择PROFINET通信服务,这样可以保证操作的实时性,其实这也是误解,这里主要看的是现场设备故障后的响应时间,实时的通信只是其中一个环节,例如故障出现后,操作人员离操作台比较远或者正好不在现场,这样将大大影响响应时间,即使选择非实时的主主通信,在通信上花费的时间与人的因素比也是微不足道,这里应该选择主主通信服务,快速的响应应该交给PLC去处理。
总之不能因为PROFINET好就所有的通信都使用,应该选择正确的通信服务。