EM239模块支持S7-200的MODBUS协议库的相关命令。CPU编成时只涉及MBUS_CTRL和MBUS_MSG两条指令。
MBUS_CTRL用来初始化CPU的串行口,mode=1将串行口分配给MODBUS接口,mode=0将串行口分配给PPI接口;parity=0,设置无校验;baud=19200,设置串行口的波特率为19200bps;timeout=1000,设置通讯等待时间最多为1秒。
MBUS_MSG用来输出MODBUS请求命令(发出数据采集命令),EN和First均接通时启动MBUS_MSG命令;slave用来指明EM239模块的地址;RW=0,指明该命令是读数据命令;addr=30001指明读取数据从EM239模块的1通道开始;count=16代表连续读取16个通道数据(对EM239模块可以是1~16间的任何数);Dataptr指明读取数据存放地址的指针。
参见《MODBUS协议及自由口通讯》及《S7-200可编程序系统手册》。
端子定义
图2为EM239一线通模块的端子接线示意图。
A、B :通道输入端子,每个通道2个接线端子,共有16个输入通道。
C :输入通道公共端,用于三线制热电阻输入时使用。
CH1~16:16路模拟量输入通道。
P+、P-:24VDC供电端子,分别与直流24V电源的+、-端连接。
G :一线通模块接地端,必须可靠连接大地,防止电磁干扰。
A+、B-:RS485通讯端子,用双绞线将A+、B-端分别与RS485网络的A+、B-相连。
SW :设置开关,设置地址号、通道类型之前,必须短路SW跳线,完成后必须断开SW。

图2 EM239端子接线图
信号输入
电压输入:EM239的所有通道可以设置为直流电压输入,信号范围为±5V,采集结果为:±5000(有符号数)。
电流输入:用EM239的直流电压输入方式可以采集直流电流,电流的输入范围为0~20mA,使用时在A、B端子上需并联250欧姆精密电阻,将电流转换成电压,最后以电压的方式测量,0~20mA对应的采集结果为:0~5000。
毫伏输入:EM239的所有通道可设置为直流毫伏输入,信号的范围为±50mV,采集结果为:±5000(有符号数)。
热电阻输入:EM239的所有通道可以直接连接热电阻温度输入,采用三线制输入方式(A、B、C三线等长),自动消除引线电阻误差,采集结果为10倍的温度值,共有6种类型的热电阻可以直接输入,如图3、图4所示。当热电阻输入通道断线时,该通道采集结果指示32767,此为断线标识。
热电偶输入:EM239的所有通道可以直接连接热电偶温度输入,采集结果为10倍的温度值。热电偶输入时,模块自动进行冷端温度补偿,软件设置时,忽略“补偿通道”输入项。共有6种型号的热电偶输入。当热电偶输入通道断线时,该通道采集结果指示0,此为断线标识。注:所有模拟量输入信号应使用屏蔽电缆,屏蔽线应可靠接大地。

图3热电阻输入接线图 图4错误的热电阻接线图 图5热电偶输入接线图
数据类型
EM239模块的采集结果为双字节有符号整数(16位)。各种类型热电阻、热电偶的温度范围如下表。
类型 |
测量范围 |
类型 |
测量范围 |
类型 |
测量范围 |
类型 |
测量范围 |
Pt100 |
-100~500℃ |
G |
-50~150℃ |
S |
0~1560℃ |
T |
0~400℃ |
Cu100 |
-50~150℃ |
BA1 |
0~650℃ |
K |
0~1200℃ |
E |
0~850℃ |
Cu50 |
-50~150℃ |
BA2 |
0-650℃ |
J |
0~1120℃ |
EA-2 |
0-780℃ |
模块设置
EM239模块在使用前必须设置模块地址、信号类型,设置过程在电脑上进行,电脑要具备RS485接口并安装《一线通工具软件.EXE》,该软件在网络上下载,参见“文件下载”章节。将电脑RS485接口与EM239模块的RS485接口连接(A+、B-同名连接在一起)。如果电脑不具备RS485接口,有两种方法扩展:
A,如果电脑具备RS232接口,可以用“RS232转RS485接头”转换成RS485。
B,如果电脑不具备RS232接口,可以用“USB转RS485接头”转换成RS485。
上述两种RS485转换方法可以在模块设置时使用,正常使用时,从可靠性考虑不建议使用这样转换的RS485接口。
1,通讯参数:运行《一线通工具软件.EXE》,首先进入“通讯参数”设置界面,如图1所示。这是对电脑本身通讯参数的选择,请选择:19200 bps;8位数据;无校验;1停止位。端口:选择电脑的COM口,该COM口必须是与EM239连接的RS485端口,否则电脑无法与EM239通讯。完成后按“确定”,软件进入图2所示的工具软件主界面。如果选择的COM口在电脑上不存在,按“确定”后,系统将提示端口错误信息。
端口号的确定:如果是用“USB转RS485接头”转换的RS485口,可以在电脑的“设备管理”下查找该COM口编号。如果不能确定COM口编号,只能用COM1、COM2、COM3…进行试验,直至正确为止。

图1 通讯参数选择窗口 图2 一线通工具软件主界面
2,模块地址设置:模块地址如同模块的名字,同一个RS485网络中,每个EM239模块都有唯一一个地址,地址范围为1~32。使用前必须为EM239模块设置地址。首先将模块的SW跳线短路,在“模块设置”菜单下选择“地址设置”,出现图3所示“模块地址”窗口,在窗口内输入欲设置的EM239模块的地址号,按“确定”,完成地址设置,自动关闭“模块地址”窗口。如果设置失败出现图5所示的“超时错误”窗口,可能原因:通讯参数错误、端口号错误、连接电缆接线错误、SW未短路以及某个RS485接口损坏等。
3,信号类型设置:EM239模块的每个通道可以采集14种类型的信号,使用前必须对每个通道进行设置(配置),设置前将SW短路,在“模块设置”菜单下选择“信号类型”,进入图4所示“信号类型”窗口。
地址编号:该栏输入被设置EM239模块名字(地址);
通道号 :该栏内输入欲设置的通道号,一般从1通道开始;
通道类型:该栏内选择欲设置通道的信号类型;
补偿通道:该栏忽略,2014年款的EM239模块内部自动进行冷端温度补偿,仅针对2014年款EM239模块忽略该项。
按“确定”,完成本通道的设置,设置成功后,“通道号”自动加1,继续下一通道的设置,直至完成全部16通道设置,如果设置失败出现图5所示的“超时错误”窗口,可能原因:地址号错误、通讯参数错误、端口号错误、连接电缆接线错误、SW未短路以及某个RS485接口损坏等。
4,模拟量采集:工具软件可以采集EM239模块所有通道的数据,在图2所示主界面里的“模块地址”栏内输入EM239模块的名字(地址),按“模拟量采集”按钮,模块的所有通道数据显示在窗口中,刷新周期为1秒,注:工具软件对采集数据进行算术除10处理,且不支持负数显示。如果通讯失败出现图5所示的“超时错误”窗口,可能原因是“模块地址”栏的地址输入错误,也可能是通讯参数错误、端口号错误、连接电缆接线错误、某个RS485接口损坏等。
模拟量采集时,不需要短路SW。EM239模块只支持工具软件的“地址设置”、“信号类型”、“模拟量采集”和“模块信息采集”功能,不支持软件的其他功能,对不支持的功能操作将提示“超时错误”信息。
5,模块信息采集:在图2所示主界面里的“模块地址”栏内输入EM239模块的名字(地址),按“模块信息采集”按钮,将显示该模块的生产编号。模块信息采集同样不需要SW短路。如果出现“超时错误”提示,可能原因是模块地址错误,也可能是通讯参数错误、端口号错误、连接电缆接线错误、某个RS485接口损坏等。
完成EM239模块设置后,必须将SW断开,参数将永久保存在模块中,正常运行时,SW也是断开的状态。

图3 模块地址窗口 图4 信号类型设置窗口 图5 通讯错误窗口
文件下载
请在http://WWW.485BUS.COM 的“文件下载”里下载下面文件并仔细阅读:
1,《一线通工具软件.EXE》;
2,《EM239模块使用说明(2014)》;
根据需要下载参考:
3,《EM239与S7-200通讯例程》;
4,《MODBUS协议及自由口通讯》;
以及网站“技术文章”里的相关文章。