介绍在PCS7系统中使用西门子串行通行卡CP341进行modbus主从站通信的方法与实例,比较经典
这里,我们定义发送三组请求信息于DB1中,通过轮换改变DBB_NO号分别将相应请求信息发送过去。同样,我们在接受数据块DB20中,相应改变DBB_NO可以将数据分类放置。
说明:
1. trigger自定义块,通过接收P_SND_RK发送请求信息后得到的反馈(完成DONE或有错ERROR)及REQ是否清闲,不断产生一个信息发送请求。
2. read NO loop(COUNT_P) 和 read cmd no(DI_I)块,根据P_RCV_RK成功接收反馈(NDR),产生一个轮循数(本例:0,1,2)。
3. Read cmd calcu1(MUL_I)和Read cmd calcua(MUL_I)块,根据轮循数相应产生一个发送、接收DB块的相应偏移量。
4. 6(CMP_I)块,保证在P_SND_RK发送写请求信息时,复位接收块P_RCV_RK。
因此,只有保证发送、接收块的协调工作,才能保证MODBUS多组通讯信息正常收发。
附注:采用PCS7库中SND_341/RCV_341通讯方法。
1.CP341做MODBUS主站,调用SND_341/RCV_341。