0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

西门子S7-1200PLC点对点通信实例

autozhineng 来源:PLC与自控设备 2023-08-29 09:59 次阅读

在此示例中,S7-1200 CPU 通过 CM 1241 RS232 模块与装有终端仿真器的 PC 通信。此示例中的点对点组态和 STEP 7 程序说明了CPU如何从 PC 接收消息和将该消息回送到 PC。

必须将 CM 1241 RS232 模块的通信接口连接到 PC 的 RS232 接口(通常为 COM1)。由于这两个端口都是数据终端设备 (DTE),所以在连接这两个端口时必须交换接收和发送引脚(引脚 2 和 3),可通过以下任何一种方法实现交换:

使用NULL 调制解调器适配器和标准RS232 电缆交换引脚 2 和 3。

使用已交换引脚2和 3 的 NULL 调制解调器电缆。通常可以将电缆两端是否带有两个 9 针 D 型母头连接器作为识别 NULL 调制解调器电缆的依据。

组态通信模块

可通过 STEP 7 中的设备组态或通过用户程序指令来组态 CM 1241。此示例使用设备组态方法。

端口组态:在“设备组态”(Device configuration) 中单击 CM模块的通信端口,然后如下所示组态该端口:

9ce68e5a-460d-11ee-a2ef-92fbcf53809c.jpg

说明

“操作模式”和“接收线路初始状态”的组态设置,只适用于 CM 1241 (RS422/RS485) 模块。其它 CM 1241 模块没有这些端口组态设置。

传送消息组态:接受传送消息组态的默认值。在消息开始时将不发送中断信号

接收消息开始组态:将CM 1241 组态为在通信线路处于非激活状态至少 50个位时间(在 9600 波特时约为 5 毫秒 = 50 * 1/9600)时开始接收消息:

9cf8c458-460d-11ee-a2ef-92fbcf53809c.jpg

接收消息结束组态:将 CM 1241 组态为在最多接收到 100 个字节或换行字符(十进制数 10 或十六进制数 a)时结束消息。结束序列最多允许序列中具有五个结束字符。该序列中的第五个字符是换行字符。前面四个结束序列字符均是“不相关”字符或不选择的字符。CM 1241 不评估“不相关”字符,但会在零或更多“不相关”字符后面寻找指示消息结束的换行字符

9d09c1d6-460d-11ee-a2ef-92fbcf53809c.jpg

RS422和RS485工作模式

组态RS422

对于 RS422 模式,有三种工作模式,具体取决于网络组态。根据网络中的设备选择其中一种工作模式。接收线路初始状态的不同选择参考了如下所示的详细情况。

全双工(RS422)四线制模式(点对点连接):在网络中有两台设备时选择此选项。在接收线路初始状态中:

– 在提供偏置和终端时(第 3 种情况),选择无。

– 选择正向偏置以使用内部偏置和终端(第 2 种情况)。

– 选择反向偏置以使用内部偏置和终端,并为两台设备启用电缆断线检测(第 1

种情况)。

全双工(RS422)四线制模式(多点主站):当网络具有一个主站和多个从站时,为主站选择此选项。在接收线路初始状态中:

– 在提供偏置和终端时(第 3 种情况),选择无。

– 选择正向偏置以使用内部偏置和终端(第 2 种情况)。

– 在此模式下,不能进行电缆断线检测。

全双工(RS422)四线制模式(多点从站):当网络具有一个主站和多个从站时,为所有从站选择此选项。在接收线路初始状态中:

– 在提供偏置和终端时(第 3 种情况),选择无。

– 选择正向偏置以使用内部偏置和终端(第 2 种情况)。

– 选择反向偏置以使用内部偏置和终端,并为从站启用电缆断线检测(第 1种情况)。

第1种情况:RS422,带电缆断线检测

工作模式:RS422

接收线路初始状态:反向偏置(有偏置,R(A)> R(B) > 0V)

电缆断线:启用电缆断线检测(发送器始终处于激活状态)

9d1d5502-460d-11ee-a2ef-92fbcf53809c.jpg

第2种情况:RS422,不带电缆断线检测,正向偏置

9d2f7174-460d-11ee-a2ef-92fbcf53809c.jpg

第3种情况:RS422:不带电缆断线检测,无偏置

工作模式:RS422

接收线路初始状态:无偏置

电缆断线:无电缆断线检测(发送器仅在发送时才启用) 偏置和终端由用户在网络末端节点处添加。

9d40bbe6-460d-11ee-a2ef-92fbcf53809c.jpg

组态RS485

对于 RS485 模式,只有一种工作模式。接收线路初始状态的不同选择参考了如下所示的详细情况。

半双工(RS485)两线制模式。在接收线路初始状态中:

– 在提供偏置和终端时(第 5 种情况),选择无。

– 选择正向偏置以使用内部偏置和终端(第 4 种情况)。

第4种情况:RS485:正向偏置

工作模式:RS485

接收线路初始状态:正向偏置(有偏置,R(B) > R(A) > 0V)

9d571cec-460d-11ee-a2ef-92fbcf53809c.jpg

第5种情况:RS485:无偏置(外部偏置)

工作模式:RS485

接收线路初始状态:无偏置(需要外部偏置)

9d734002-460d-11ee-a2ef-92fbcf53809c.jpg

编写STEP7程序

此示例程序使用全局数据块作为通信缓冲区,使用 RCV_PTP 指令从终端仿真器接收数据,使用 SEND_PTP 指令向终端仿真器回送缓冲数据。要对该示例编程,需要添加数据块组态和主程序块 OB1,如下所述。

全局数据块“Comm_Buffer”:创建一个全局数据块 (DB) 并将其命名为“Comm_Buffer”。在该数据块中创建一个名为“buffer”,数据类型为“字节数组 [0 .. 99]”的值。

程序段1:只要 SEND_PTP 未激活,就启用 RCV_PTP 指令。在程序段 4 中,MW20.0 中的 Tag_8 在发送操作完成时进行指示,因此是在通信模块相应地准备好接收消息时进行指示。

9d837ba2-460d-11ee-a2ef-92fbcf53809c.jpg

程序段2:使用由 RCV_PTP 指令设置的 NDR 值(M0.0 中的 Tag_1)来复制接收到的字节数,并使一个标记(M20.0 中的 Tag_8)置位以触发 SEND_PTP 指令。

9d924ef2-460d-11ee-a2ef-92fbcf53809c.jpg

程序段3:M20.0 标记置位时启用 SEND_PTP 指令。同时还使用此标记将 REQ 输入设置为 TRUE 一个扫描周期时间。REQ 输入会通知 SEND_PTP 指令要传送新请求。REQ 输入必须仅在 SEND_PTP 的一个执行周期内设置为 TRUE。每个扫描周期都会执行 SEND_PTP 指令,直到传送操作完成。CM 1241 传送完消息的最后一个字节时,传送操作完成。传送操作完成后,DONE 输出(M10.0 中的 Tag_5)将被置位为 TRUE 并持续 SEND_PTP 的一个执行周期。

9da10186-460d-11ee-a2ef-92fbcf53809c.jpg

程序段4:监视 SEND_PTP 的 DONE 输出并在传送操作完成时复位传送标记(M20.0 中的 Tag_8)。传送标记复位后,程序段 1 中的 RCV_PTP 指令可以接收下一条消息。

9dae55fc-460d-11ee-a2ef-92fbcf53809c.png

组态终端仿真器

必须设置终端仿真器以支持此示例程序。几乎可以在 PC 上使用任何终端仿真器,例如,超级终端。确定终端仿真器处于断开模式后,如下所述编辑各设置:

将终端仿真器设置为使用PC 上的 RS232 端口(通常为 COM1)。

将端口组态为 9600 波特、8 个数据位、无奇偶校验(无)、1个停止位和无流控制。

更改终端仿真器设置使其仿真 ANSI终端。

组态终端仿真器ASCII 设置,使其在每行后(用户按下 Enter 键后)发送换行信号。

本地回送字符,以便终端仿真器显示输入的内容。

运行示例程序

要运行示例程序,请执行以下步骤:

将STEP 7 程序下载到 CPU 并确保其处于 RUN 模式。

单击终端仿真器上的“连接”(connect) 按钮以应用组态更改并启动与 CM1241的终端会话。

在PC 中键入字符并按 Enter 键。

终端仿真器会将输入的字符发送到 CM 1241 和 CPU。然后,CPU 程序将这些字符回送到终端仿真器。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5008

    文章

    13147

    浏览量

    461972
  • 接口
    +关注

    关注

    33

    文章

    8488

    浏览量

    150809
  • 西门子
    +关注

    关注

    93

    文章

    3007

    浏览量

    115613
  • S7-1200
    +关注

    关注

    11

    文章

    331

    浏览量

    17904

原文标题:西门子S7-1200PLC点对点通信实例

文章出处:【微信号:PLC与自控设备,微信公众号:PLC与自控设备】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子PLC s7-1200 1500 modbus-rtu通信实例编程详细指导

    西门子PLC s7-1200 1500 modbus-rtu通信实例编程详细指导
    发表于 11-24 12:23

    西门子PLC s7-1200 1500 modbus-tcp通信实例编程详细指导

    西门子PLC s7-1200 1500 modbus-tcp通信实例编程详细指导
    发表于 11-24 12:24

    基于西门子1200PLC点对点通信实例分享

    西门子1200PLC点对点通信实例
    发表于 12-21 07:10

    通信库如何与西门子S7-1200PLC进行通信测试呢

    常用的通信库有哪几种?其如何与西门子S7-1200PLC进行通信测试呢?
    发表于 09-23 06:17

    三菱PLC西门子PLC之MODBUS RTU通信实例

    三菱PLC西门子PLC之MODBUS RTU通信实例介绍走modbus ut通讯
    发表于 06-08 15:13 156次下载

    怎么让Smart line系列触摸屏与西门子S7-1200PLC与时间一样

    今天主要讲解一下关于Smart line系列触摸屏如何与西门子S7-1200PLC与时间同步这方面的干货。让大伙更进一步的学好PLC,掌握S7-1200CPU日期时向数据结构与 sma
    的头像 发表于 07-31 08:58 1.1w次阅读
    怎么让Smart line系列触摸屏与<b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b>与时间一样

    西门子S7-1200-PLC-Modbus通讯实例

    西门子S7-1200-PLC-Modbus通讯实例免费下载。
    发表于 04-21 14:46 113次下载

    西门子S7-1200与组态软件之间无线MODBUS通信实例

    本方案是组态软件与西门子 S7-1200进行无线 MODBUS 通信的实现方法。此方案可以作为西门子 S7-1200与组态软件的无线 MOD
    的头像 发表于 01-11 09:27 2752次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-1200</b>与组态软件之间无线MODBUS<b class='flag-5'>通信实例</b>

    通信教程:西门子S7-1200PLC与组态王

    通信教程:西门子S7-1200PLC与组态王
    的头像 发表于 02-23 15:11 4675次阅读

    利用Modbus采集网关采集西门子S7-1200plc数据

    Modbus是一种通用的工业通信协议,可用于连接不同类型的设备,如计算机、PLC、仪表等,它可以实现多种设备之间的数据采集和控制。本文将介绍如何利用Modbus采集网关采集西门子S7-1200
    的头像 发表于 03-08 17:26 2085次阅读
    利用Modbus采集网关采集<b class='flag-5'>西门子</b><b class='flag-5'>S7-1200plc</b>数据

    西门子S7-1200PLC与V20变频器进行MODBUS RTU通信步骤

    西门子S7-1200PLC与V20变频器进行MODBUS RTU通信步骤详解 在TIA博途中创建项目,组态1200PLC,并添加CM1241 RS485模块,如下图所示,
    发表于 04-10 09:39 15次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b>与V20变频器进行MODBUS RTU<b class='flag-5'>通信</b>步骤

    西门子1200PLC之间的ModbusTCP通讯如何实现?

    西门子1200PLC通过以太网通讯与其它设备进行数据交互,西门子1200PLC可以和西门子系列plc
    发表于 07-30 14:49 9372次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>1200PLC</b>之间的ModbusTCP通讯如何实现?

    西门子Smart line系列触摸屏如何与S7-1200PLC的时间同步

    今天主要讲解一下关于西门子Smart line系列触摸屏如何与S7-1200PLC与时间同步这方面的干货。让大伙更进一步的学好PLC,掌握S7-1200CPU日期时向数据结构与 sma
    的头像 发表于 08-04 14:59 4239次阅读
    <b class='flag-5'>西门子</b>Smart line系列触摸屏如何与<b class='flag-5'>S7-1200PLC</b>的时间同步

    使用钡铼BL102网关连接西门子S7-1200PLC接入mosquitto服务器方法

    使用钡铼BL102网关连接西门子S7-1200PLC接入mosquitto服务器方法
    的头像 发表于 04-11 18:15 1663次阅读
    使用钡铼BL102网关连接<b class='flag-5'>西门子</b><b class='flag-5'>S7-1200PLC</b>接入mosquitto服务器方法

    PLC西门子S7-200smart和S7-1200的区别?

    PLC西门子S7-200smart和S7-1200的区别? 西门子S7-200 smart和
    的头像 发表于 11-17 11:41 9674次阅读