学PLC时,以为它就是开关的集合。一个多月后才明白,通信才是它最主要的功能。所以一定得学好通信。
看了许多教程、手册、贴子,刚开始觉得各不相同,我不知道该听谁的。或者说,我也许走了一条错误的路。后来模模糊糊地觉得,原来那些“各说一词”的资料,其实是对应不同的设备。通信大概是如下关系:
一,组态一下就可以通信,不需要编程。这种情况一般是自家品牌内部各模块之间的通信。我学的西门子通信教程大部分是这样的(56讲以及高级教程),结果我在我公司的某台机器的PLC程序里找不到那些东西,于是我怀疑自己学错了。后来才明白,通信其实有多种多样的。西门子官网只是其中之一。
二,必须编程才能通信。目前粗浅的看法是,不用的线缆,得用不同的指令。
(一)RS232线缆,用sent_ptp和rcv_ptp

(二) profinet线缆,用mb_server和mb_client

(三)以太网线缆,用Modbus TCP协议。这一块我不熟。似乎用

(四) PLC和温控仪之间,用Mbus_MSG指令。期间用什么线缆,我现在忘了,将来补上。
三,还有一种是通过报文来通信。
Tsend和Trcv是可以传送报文的。
对Modbus TCP,我的理解相当混乱,似乎可以用ethernet线,也可以用profinet线。用不同的线缆,而编程方法是否一样?望明示。
还有MB_master和MB_slave,是建立从站和主站的。这个是属于什么通信?