因对程序功能的要求和对成本的限制,要求用PLC(224XP)的一个通讯口PORT1实现以下功能:
1. 与变频器通讯,用作
modbus主站。
2. 与其他机器或者上位机通讯,用作
modbus从站。
3. 作为PPI主站或者从站,与其他机器组成互连的网络。
其中做PPI主从站时可能与做
modbus主站时时间冲突。做
modbus主站时可能与做
modbus从站时时间冲突,但做
modbus从站时与做PPI主从站时时间不冲突。
准备通过以下方式实现:
1. 硬件上:
与变频器通讯做
modbus主站时,使用可编程插头。
与其他机器联网做
modbus或PPI从站时,使用不带编程口的插头,有变频器时插在可编程插头编程口上,没有变频器时直接插在PORT1口上。
2. 软件上:当需要此端口同时与变频器与其他机器通讯时,即既要做
modbus主站,又要做
modbus/PPI从站时,通过分时的方式实现:每秒钟调用一次
modbus主站子程序,当一个周期通讯完毕时,立即复位
modbus主站程序使能位,使PORT1重新变为PPI从站端口,或者调用
modbus从站程序,使之作为从站端口使用。周而复始。因为与变频器通讯只需要传送PID反馈值,每秒钟传送一次应该是够的。
现在的问题是:
1. 理论上这种方法有问题吗?实际上有人这样试过吗?
2. 如果理论上没有问题,那么可编程口能这样用吗?