首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

很多人都说PLC的通讯很难,实际上通讯只有两种,一种是要写代码的,另一种是不要写代码的

导读:

在工业自动化领域,PLC扮演着至关重要的角色。然而,许多人在初次接触PLC通讯时,常因其复杂性而感到困扰。事实上,PLC的通讯并不如人们想象中的那么神秘,它主要只有两种类型:一种是需要编写代码的通讯方式,例如MODBUS。另外一种是不需要编写代码的通讯方式,例如现场总线。

在工业自动化的心脏中,PLC扮演着至关重要的角色。它们是那些巨大机械臂、精密生产线和复杂控制系统背后的智慧大脑。然而,对于许多工程师来说,PLC的通讯似乎是一座难以逾越的高山,充满了专业术语和复杂的协议。

但在这片看似神秘的领域里,实际上只有两条道路:一条是需要编码的通讯,如MODBUS;另一条则是无需编码的通讯,比如现场总线。

很多人认为 PLC的通讯很难,这可能是因为PLC 的通讯方式比较多,需要掌握不同的通讯协议和编程方法。但是,如果将 PLC 的通讯方式简单地分为两种,一种是需要写代码的,另一种是不需要写代码的,这样可能会更容易理解。

首先,我们需要明确一点:PLC的通讯并不是难以捉摸的。实际上,它主要基于两种类型:需要编写代码的通讯方式和不需要编写代码的通讯方式。

对于需要编写代码的通讯方式,MODBUS是一个典型的例子。

MODBUS,这个名字对于许多初学者来说可能如同希腊神话中的迷宫一样令人迷惑。它是一种串行通信协议,历史悠久,应用广泛。在MODBUS的世界里,每一个数据点都需要通过精确的代码来指定和控制。工程师们必须像编织精细图案的织女一样,一丝不苟地编写代码,确保每一条指令都能精确无误地传达给PLC。这是一种要求高度专业技能和耐心的工作,每一行代码都承载着系统稳定运行的重任。

这是一种串行通讯协议,允许PLC与各种设备(如传感器、执行器等)进行通信。在使用MODBUS时,用户需要编写特定的代码以实现设备之间的数据传输和控制。尽管这需要一定的编程知识,但对于熟悉自动化和PLC的人来说,这并不是一项艰巨的任务。

另一方面,不需要编写代码的通讯方式则更为直观和便捷。

并非所有的通讯都需要如此深入的编码工作。现场总线技术,如其名,是一种将设备连接在一起的网络,它允许各种设备在没有复杂编程的情况下进行通信。这些网络如同现代城市的高速公路,信息在其中自由流动,而不需要每个路口都有警察指挥。现场总线的使用大大简化了系统的集成和扩展,使得设备的添加和移除就像搭积木一样简单。

现场总线是这一类通讯方式的代表。它允许设备之间进行实时、双向通信,而无需编写特定的代码。通过现场总线,PLC可以轻松地与各种设备进行交互,实现高效的监控和控制。

在这两条道路之间,工程师们的选择往往取决于项目的具体需求。如果时间紧迫,或者项目的复杂度较低,那么现场总线可能是更合适的选择。但如果需要更深层次的控制和定制化,MODBUS及其编码的世界就是不可避免的。无论选择哪条路,关键在于理解它们的本质,掌握它们的规则。

无论是需要写代码的通讯方式还是不需要写代码的通讯方式,都需要掌握相应的通讯协议和编程方法。对于初学者来说,可能需要花费一定的时间来学习和掌握这些知识。但是,一旦掌握了这些知识,就可以更加轻松地进行 PLC 的通讯编程和调试。

PLC编程之modbus 通讯案例

1. 硬件设置

程序中的 Modbus 通讯是在两个 S7-200 CPU 的 0 号通讯口间进行的(最好每个 CPU 都有两个通讯口)。在主站侧也可以用相应库文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通过1号通讯口通信。通讯口 1 用 Micro/WIN 与 PG 或 PC 建立连接,两个 CPU 的通讯口 0 通过 Profibus 缆进行连接(电缆的针脚 连接为3,3,8,8 -> 见图 01)。另外,需要确定逻辑地M相连 。

2. 参数匹配

对于 MODBUS 通讯,主站侧需要程序库 "MBUS_CTRL" 和 "MBUS_MSG",从站侧需要程序库 "MBUS_INIT" and "MBUS_SLAVE"。

在 Micro/WIN 中您需要为主站和从站新建一个项目,程序与参数设置见图.02。

必须要保证主站与从站的“Baud”和 “Parity” 的参数设置要一致,并且程序块 "MBUS_MSG" 中的 "Slave" 地址要与程序块 "MBUS_INIT" 中的 "Addr" 所设置的一致 (见图. 02)。

在 Micro/WIN“系统块”中设置的通讯口 0 的波特率与 MODBUS 协议无关 ("Mode" = "1")。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OJkylbrdhNwKoZEzO-5rPb1A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券