EtherCAT转Modbus485RTU网关多路同步高速采集无需编程串口服务器https://item.taobao.com/item.htm?ft=t&id=798036415719
EtherCAT 串口网关
EtherCAT 转 RS485
(接上一章)
自由协议通信步骤
(以MS-A2-1041为例)
接收与发送数据的格式
下面介绍无协议模式时 MS-A2-1041 能够接收/ 发送的数据的格式(标头、定界符、 数据长度)。与 PC 通信时,在开始编程前,请事先确定数据的格式。连接 PC 以外 的外围设备时,请在外围设备的使用说明书中,确认设备的格式。格式用梯形图程序 设定
发送数据的格式(MS-A2-1041→外围设备)
使用标准模式或响应接收模式时,对于从 MS-A2-1041 向外部设备发送的数据(指 令),可采用以下任一种格式。缓存清除模式下,无法从 MS-A2-1041 发送数据。
接收数据的格式(外围设备→MS-A2-1041)
MS-A2-1041 可以从外围设备接收的数据格式为“可变长度数据”和“指定数据长度的固定长度数据”中的任意一个。
可变长度数据
MS-A2-1041 将接收数据长度,视为写入 CPU 单元的数据。“可变长度数据” 可以在标准模式、响应接收模式和缓冲区清除模式下使用。
指定数据长度的固定长度数据
MS-A2-1041 将用梯形图程序设定的数据长度(接收数据长度),视为写入 CPU 单元 的数据。“指定数据长度的固定长度数据” 可以在标准模式、响应接收模式和缓冲区 清除模式下使用。如果 MS-A2-1041 接收了长度大于接收数据长度的数据或长度小于接收数据长度的数据,则 MS-A2-1041 将认为接收数据错误。
接收/发送方式
标准模式
连接 PC 时,通常选择标准模式。既可以从 MS-A2-1041 向外围设备发送数据,也可 以由外围设备向 MS-A2-1041 发送数据。因此,可以将 CPU 单元的数据写入外围设备,将外围设备的数据读取到CPU 单元。
发送时的通信步骤如下。
响应接收模式
连接仅在请求时才发送数据的外部设备时,选择响应接收模式。
发送指令、接收响应的继电器处理可一次性完成(无法将发送时和接收时的继电器处理分开处理)。另外,也可设定发出指令后至接收响应为止的时间(超时检查时间)。
通信步骤如下。
缓冲区清除模式
一般在连接采用单方面发送数据的外部设备时选用缓存清除模式。
通过响应接收模式,可以将 MS-A2-1041 接收的数据,作为有效数据进行读取。因此,与发送数据的外围设备进行通信时,如果不添加 MS-A2-1041 的接收缓冲区处理,则有可能产生字符乱码现象。缓冲区清除模式将忽略接收处理中新接收的数据,通常只读取最新的数据。
缓存清除模式下,无法从 MS-A2-1041 向外部设备发送数据。
通信步骤如下。
程序的编制流程
标准模式下的接收与发送
EtherCAT转Modbus485RTU网关多路同步高速采集无需编程串口服务器https://item.taobao.com/item.htm?ft=t&id=798036415719
设定数据的存储单位
将接收与发送的数据写入到发送数据区域或接收数据区域时,需要事先设定以“字” 为单位写入还是以“字节”为单位写入。
字节单位
写入数据存储器的低 8 位(位 0~7)的字符以及写入高 8 位(位 8~15)的字符,将被 视为要接收与发送的字符。专用指令的大部分字符串处理指令,都可以处理以字节为 单位的数据。用这些指令处理要接收与发送的数据时,如果事先将数据的存储单位设 定成字节单位,将非常方便。一次最多可接收与发送 64 个字节(64 个字符)。
以字单位
设定发送标头
使用标准模式或响应接收模式时,请设定从 MS-A2-1041 向外围设备发送数据的标头。加上标头时,要设定标头的类型。不加标头时,将标头置为无效。使用缓冲区清除模式时,无需此设定。即使设定也被忽略
设定发送定界符
使用标准模式或响应接收模式时,请设定 MS-A2-1041 向外部设备发送的数据的定界符。加定界符时,要设定定界符的类型。不加定界符时,使定界符为无效。使用缓冲区清除模式时,无需此设定。即使设定也被忽略。
设定接收数据长度
所谓“接收数据长度”,是指在接收的数据(响应)中,MS-A2-1041 将其识别为要写入 CPU 单元的数据部分的字节数。接收指定了数据长度的固定长度数据时,要设定接收数据长度。设定为 0 时,MS-A2-1041 将其视为设定为 64 字节的数据(将数据存储单位设定为字节单位时,字单位时为 32 字节)进行处理。
使能外围设备通讯
如在占有 DM 中设定了通信条件,请将通信使能继电器 ON。在通信使能继电器的上升沿上,设定的通信条件将被登录,MS-A2-1041 即可与外围设备进行通信了。通信使能继电器为 OFF 时,不能与外围设备进行通信。通信继电器 ON,可与外围设备通信时,通信就绪继电器将为 ON。通信使能继电器为 OFF 不能与外围设备通信时,通信就绪继电器将为 OFF。
设定发送的数据
使用标准模式或响应接收模式时,要设定从 MS-A2-1041 向外围设备发送的数据。数据的设定方法,因设定数据的存储单位而异。
缓冲区清除模式时,无需此设定。
以字节为单位时的设定方法
以字为单位时的设定方法
如要设定向外围设备发送的数据,请将数据写入“发送数据区域”中。
• 一次最多可以发送 64 字节(64 字符)的数据。
设定发送数据长度
使用标准模式或响应接收模式时,要设定从 MS-A2-1041 向外围设备发送的数据的长度(数据长度)。在写入发送数据区域的数据中,设定向外围设备发送多少字节(或 多少字)的数据。
缓冲区清除模式时,无需此设定。
设定方法
请在“发送数据长度设定区域”中,写入要发送的数据的长度。
• 将数据的存储单位设定为字节单位时,请写入字节数,设定为字单位时,请写入字数。
• 请不要在数据长度中,加入标头和定界符的字节数。
接收与发送数据
标准模式时 :发送
① 将发送请求继电器置 ON,则开始从 MS-A2-1041 向外围设备发送数据。
② 发送完成后,MS-A2-1041 将 ON 发送完成继电器。
③ 发送完成继电器 ON 后,请将发送请求继电器 OFF。
④ 将发送请求继电器 OFF 后,则 MS-A2-1041 将 OFF 发送完成继电器。
接收
① MS-A2-1041 如果接收数据,接收数据读取请求继电器将 ON。
• 接收的数据将存储在接收数据存储区域中。
• 接收数据读取请求继电器为 ON 时,接收的数据将变为 CPU 单元可以处理的数据。
② 请根据需要,用 CPU 单元处理接收的数据。
③ CPU 单元处理完成后,请将接收数据读取完成继电器 ON。
④ 如接收数据读取完成继电器 ON,接收数据读取请求继电器将 OFF。
⑤ 接收数据读取请求继电器 OFF 后,请用梯形图程序 OFF 接收数据读取完成继电器。
响应接收模式时
① 将发送请求继电器置 ON。
• 从 MS-A2-1041 开始向外围设备发送数据。
② 接收完响应后,MS-A2-1041 将接收数据读取请求继电器 ON。
• 接收的数据将存储在接收数据存储区域中。
• 接收数据读取请求继电器为 ON 时,接收的数据将变为 CPU 单元可以处理的数据。
③ 请根据需要,用 CPU 单元处理接收的数据。
④ CPU 单元处理完成后,请将发送请求继电器置 OFF。
⑤ 如发送请求继电器 OFF,MS-A2-1041 将 OFF 接收数据读取请求继电器。
缓冲区清除模式时
① MS-A2-1041 如果接收数据,接收数据读取请求继电器将 ON。
• 接收的数据将存储在接收数据存储区域中。
• 接收数据读取请求继电器为 ON 时,接收的数据将变为 CPU 单元可以处理的数据。
② 请根据需要,用 CPU 单元处理接收的数据。
③ CPU 单元处理完成后,请将接收数据读取完成继电器置 ON。
④ 如接收数据读取完成继电器 ON,接收数据读取请求继电器将 OFF。
⑤ 接收数据读取请求继电器 OFF 后,请将接收数据读取完成继电器 OFF。
注意:通过缓冲区清除模式处理此前接收的数据过程中,由外围设备传来的数据将被
废弃。
关于从外围设备接收的数据
如果 MS-A2-1041 从外围设备接收数据,该数据的长度(字节数)将被写入到接收数据长度区域中。接收的数据内容将被写入到接收数据存储区域中。但是,因数据的存储单位设定而异,数据的存储方法也有如下区别。
设定为字节单位时
MS-A2-1041 接收的数据将被逐个字符写入到接收数据存储区域的低 8 位( 位0~7)和高 8 位(位 8~15)中。
设定为字单位时
MS-A2-1041 接收的数据只被写入到接收数据存储区域的低 8 位(位 0~7)中。不使用 高 8 位,而是写入“00H”。
EtherCAT转Modbus485RTU网关多路同步高速采集无需编程串口服务器https://item.taobao.com/item.htm?ft=t&id=798036415719