【发布时间】:2015-12-02 09:43:21
【问题描述】:
我想使用 Siemens S7-1200 与 CM 1241 (RS-232) 进行串行通信,并与我的 Arduino 通信。 这是通信的设置。我有 2 个温度传感器和一个连接到我的 Arduino 的 Led,在 PLC 端,我有 Siemens 的 S7-1200 和 CM-1241。 Arduino 和我的 PLC 仅使用 Tx 和 Rx 引脚连接,无需握手。
我将两个传感器的温度数据发送到 PLC。在 PLC 端,我根据不同的温度值决定何时打开连接到我的 arduino 的 LED。在发送数据之前,我已经为两个传感器分配了一个 ID。这就是从 Arduino 传输的数据看起来像 $AOPT_TEMP1_20_TEMP2_21 的样子。
到目前为止,它很好,我正在使用 RCV_PTP 在我的 PLC 上接收串行数据(接收到的数据放在缓冲区上)并使用 SEND_PTP 发送数据。我还在 PLC 上实现了一个过滤器,它只接受以“$AOPT_”开头的串行数据。现在,我想从两个温度传感器 TEMP1 和 TEMP2 接收温度值,然后控制 LED。例如 if (TEMP1>TEMP2 ) 然后打开 Led 否则关闭。
我能够从 Arduino 接收 PLC 上的数据,但现在我不知道如何继续比较接收到的信息。如何从接收的缓冲区中提取唯一需要的数据?任何建议都将受到高度赞赏。
提前谢谢....
【问题讨论】:
-
确认一下,您是在询问 PLC 端的文本处理吗?
-
是的,在 PLC 端
标签: arduino serial-port serial-communication plc s7-1200