《MODBUS主站通讯时的注意事项.pdf》由会员分享,可在线阅读,更多相关《MODBUS主站通讯时的注意事项.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 .有关有关 TSXSCP114 TSXSCP114 卡及卡及 TSXSCY21601/TSXSCY11601TSXSCY21601/TSXSCY11601 模块在模块在Premium/Micro PLCPremium/Micro PLC 中作为中作为 MODBUSMODBUS 主站通讯时的注意事项主站通讯时的注意事项目录目录1.1.前言前言.2 22.2.TSXSCPCM4030TSXSCPCM4030的接线的接线.2 23.3.TSXSCYCM6030TSXSCYCM6030的接线的接线.3 34.4.ANSWER DELAYANSWER DELAY的参数设置的参数设置.4 45.5.NU
2、MBER OF RETRIESNUMBER OF RETRIES 参数设置参数设置.6 66.6.CHARACTER DELAYCHARACTER DELAY参数设置参数设置.6 67.7.通讯管理字通讯管理字.7 77.17.2详细的错误代码:.8超时时间设置.108.8.通讯函数调用通讯函数调用.11119.9.其他注意事项其他注意事项.1212c.1.1.前言前言近来发现有些客户反映在应用 SCP114 或 SCY21601/SCY11601 模块作为 MODBUS(RTU 模式)主站与其他从站设备以 RS485 方式通讯时,有通讯不畅或不能采集到数据的情况。经对部分客户的现场调查,发现
3、有部分原因是由于对 SCP114 或 SCY模块的的配置及应用程序编写不当而引起。本文指出其中一些需要注意的问题,望大家在以后使用 SCP114 卡或 SCY21601/SCY11601 时注意一下。2.2.TSXSCPCM4030TSXSCPCM4030 的接线的接线应用 TSXSCP114 卡作 MODBUS RTU RS485 方式通讯时,采用的连接的电缆应选择 TSXSCPCM4030电缆。原先手册中的接线如下:请注意的新订的请注意的新订的 TSXSCPCM4030TSXSCPCM4030 电缆的颜色编码已经改变为如下:电缆的颜色编码已经改变为如下:当 TSXSCP114 卡连接作为网
4、络中间节点时,只需要将绿线(D-)与棕线(D+)接入网络。但当TSXSCP114 卡连在未端应按未端的接法接线,如下图所示:c.CPUPremium PLC上图中 SCP114 连接在起始端,应将 TSXSCPCM4030 的电缆连接如下:即在未端时,加上终端电阻及上拉下拉电阻,以提高线路的通讯性能。对于最后一个从站也应加上终端电阻以防止信号反射引起通讯不稳定。有些从站上本身带有终端电阻可以通过拔码设置,有些从站设备本身没带终端电阻需要并接一个 120 欧姆左右的电阻,具体情况可视最后一个从站设备而定。3.3.TSXSCYCM6030TSXSCYCM6030 的接线的接线应用 TSXSCY21
5、601/TSXSCY11601通讯模块 作 MODBUS RTU RS485 方式通讯时应采用TSXSCYCM6030 通讯电缆,其不作为未端使用时接线方式如下:c.SCP1142#Temperaturemeter3#protection1#Powermeter .若作未端连接时则应如下方式连接:注意:上述图中 D(A)为 D-,D(B)为 D+。图中 TSXSCA50为施耐德电气提供的接线盒。4.4.ANSWER DELAYANSWER DELAY的参数设置的参数设置在 TSXSCP114及 TSXSCY21601的配置中都 answer delay的参数设置,如下图所示:c.此 Answe
6、r delay参数设置的目的是当主站发出请求之后,若在此参数规定的时间没有任何信息响应,则主站会根据 Retries 中的设置重新发出新的请求。如上图所示,当请求发出后在 1 秒之内主站没能收到任何数据响应,随后会重新发送一请求。若请求发出之后,在 1 秒之内收到数据,无论此数数据是否正确则不会重新发出请求。Answer Delay参数隐含设置为 1 秒,可以根据下列情况来调整:若从站响应的延迟时间较长,可以将此时间适当延长。如:读取数据的设备本身不是 MODBUS 从站,需要通协议转换读取数据,此时通过现场设备、协议转换器所需要的时间可能会超过 1 秒,在这种情况下需要将此参数调整为更长的时
7、间。否则永远无法读到此设备的数据,或由于从站的较长响应延时导致数据冲突,产生较多的 CRC 错误。若从站响应较快可以将此时间参数缩短,以避免偶尔的无数据响应导致较长的等侍时间,可以提高整个网络的通讯效率。尤其在有多从站的应用中,我们可能会重点关注整个网络上所有从站的数据刷新时间,当某从站通讯有问题时希望尽快跳过此站,在此种情况下可以将此参数调整为较小的时间,如:300ms 或 500ms 等。通常情况下,建议将此参数设为 500msc.5.5.Number of RetriesNumber of Retries 参数设置参数设置在 TSXSCP114 及 TSXSCY21601 模块作 MOD
8、BUS 主站时,在其参数配置中也同样都有 Number ofRetries 参数设置。如下图所示:此参数设置的目的是当从站没有数据响应时,主站重新发送请求偿试通讯的次数。此参数隐含设置 3次。建议在实际应用将此参数调整为 1 次,通常若重试 1 次后仍收不到数据响应,往往是从站设备不存在或本身有问题,此时再重试多次没有实际的意义。在有很多从站的应用中,若关注重点为快速轮询则可以将此重试次数设为 0。6.6.Character DelayCharacter Delay 参数设置参数设置如下图所示,在 TSXSCP114 卡及 SCY21601模块配置为 MODBUS 主站时,有“Delay be
9、tweencharacters”的参数设置。此参数为判断某一数据帧传输结束的静默时间长度。c.MODBUS RTU 数据帧间隔在 MODBUS RTU 方式通讯中,对 MODBUS 数据帧间隔是有一定要求的,通常两个数据帧之间的间隔时间要大于传输 3.5 个字符的时间。在 19200bps 的传输速率时,此时间为 1.75ms。在 9600bps 时,此时间为 3.5ms 左右。所以在配置参数中当通讯速率为 9600 时,其隐含的值通常为 4ms,即到总线静默 4ms 之后表明前一数据帧结束可以传输下一数据帧。示波器波形分析如上图中所示,此参数会影响前一响应到下一请求之间的时间间隔。假如现场从
10、站设备不符合MODBUS 串行通讯的标准要求,在总线静默时间超过 3.5 个字符时长不能判别前一数据帧通讯已经结束则需要加大此参数值,否则会导致从站无法识别新的 MODBUS 请求,导致从站无数据响应。尤其在多从站通讯时,导致数据效率大降低或无法完成数据交换。(如:DY2000 的温度巡检仪就有此问题,在4ms 内它不能识别数据帧的结束,需将将此值调整 1015ms 左右)7.7.通讯管理字通讯管理字在 Premium、Mirco PLC 的通讯函数中,最后的参数为 4 个字的通讯管理字表c.如上图中所示的 READ_VAR函数中,最后的通讯管理字为%MW137:4。通讯管理字表的含义如下:%
11、MWx:4高字节低字节%MWx通讯交换号通讯激活状态(最低位)%MWx+1操作报告通讯报告%MWx+2超时时间(时基为 100ms)%MWx+3长度(发送或接收的字节数)通讯交换号通讯交换号指每次触发通讯时,系统会自动给出一个编号。可以根据此编号将某一次通讯取消(CANCEL函数)。通讯激活状态通讯激活状态为此字节最低位(%MWx:X0),当此位为 1 表示通讯正在进行,为 0 表示通讯结束。通讯报告通讯报告指通讯链路建立时的错误情况。操作报告操作报告指当数据交换可以实现但数据有误时的错误情况。超时时间超时时间指在 CPU管理此通讯时允许的规定时间。若此值设为 0 表示无超时设置,无数据响应或
12、无错误报告时会始终处于等待状态。此参数设置的时间基值为 100ms,例设值为 3,表示超时时间为300ms。在通讯管理字表中,前两个字由系统进行自动管理,应用程序中不能对这两个字作任何的赋值操在通讯管理字表中,前两个字由系统进行自动管理,应用程序中不能对这两个字作任何的赋值操作。作。7.17.1 详细的错误代码:详细的错误代码:通讯报告通讯报告此报告是所有功能的公用报告。当活动位的值由 1切换为 0后,报告中的值才有效。报告的值介于 16#01 到 16#FE 之间,代表由执行相应功能的处理器所检测到的错误。下表列出了此报告的各个值:值值通讯报告(最低有效字节)通讯报告(最低有效字节)c.16
13、#0016#0116#0216#0316#0416#0516#0616#0716#0816#0916#0A16#0B16#0C16#0D16#0E16#0F16#1016#1116#1216#1316#FF交换正确交换因超时而停止交换因用户请求(CANCEL)而停止地址格式不正确目标地址不正确管理参数格式不正确特定参数不正确向目标发送时出现问题保留接收缓冲区的大小不足发送缓冲区的大小不足无处理器系统资源交换号不正确未接收到任何电报长度不正确电报服务尚未配置网络模块缺失请求缺失应用程序服务器已处于活动状态UNI-TE V2 事务编号不正确消息被拒绝注意:此功能可以在激活交换之前,检测参数错误。此
14、时,活动位保持为0,并用该错误对应的值来初始化报告。操作报告操作报告此报告字节对应于各个功能,用于指明对远程应用程序进行操作的结果。仅当通讯报告具有以下值时,此报告才有效:16#00(交换正确)16#FF(消息被拒绝)如果通讯报告的值是 16#00,操作报告将具有以下值:值值16#0016#0116#0216#03值值16#0116#0216#0316#04c.操作报告(最高有效字节)操作报告(最高有效字节)结果为正请求尚未处理响应不正确保留操作报告(最高有效字节)操作报告(最高有效字节)处理器无可用资源无线路资源无设备或者设备无资源(*)线路错误如果通讯报告的值是 16#FF,操作报告将具有
15、以下值:.16#0516#0616#0716#0816#0B16#0C16#0D16#0F16#1116#1216#1416#1516#1616#1716#1816#2116#30长度错误通讯通道出现故障寻址错误应用程序错误无系统资源通讯功能未激活目标缺失工作站内的路由出现问题,或者通道尚未配置地址格式尚未管理无目标资源非可操作连接(例如:以太网 TCP/IP)无针对本地通道的资源访问未获得授权(如以太网 TCP/IP)网络配置不一致(如以太网 TCP/IP)连接暂时不可用应用程序服务器已停止传输错误7.27.2 超时时间设置超时时间设置对于超时时间设置建议如下:1在通讯管理字表的第三个字中,
16、必须设置超时时间。以防止当某次通讯无响应时,导致通讯始终处于等待状态,无法触发下次通讯。建议编写程序时,在通讯函数执行之前对超时时间进行赋值,防止在从重新下载程序之后忘记超时时间的设置。如下图所示:2 超时时间的设值,建议超时时间=3*Answer delay*(reties+1)c.8.8.通讯函数调用通讯函数调用在 Premium 系统中对于通讯函数的调用有一定的限止,在同一扫描周期内每个通讯端口同时处于激活状态的通讯函数数量为 4 个(最新的版本中说明为 8 个,但建议在程序设计中仍以 4 个为设计标准)。当有多个从站需要进行通讯,或对单个从站有多个读写通讯函数时需要注意通讯函数触发的调度。CPUSCY21601Premium PLC如上述应用中共有 6 个从站都需要采集数据,为防止同时触发过多的通讯函数可对数据交换进行调度,如:按秒调度,前一秒种读取 1 号与 2 号从站数据,后一秒种读取 5、6、7、8 号从站的数据,通过秒脉冲对内部字及触发条件进控制:再利用触发条件控制通讯函数:c.1#温度巡检仪2#温度巡检仪5#电表6#电表7#电表8#电表 .另外在每个通讯函数之前必须加对激活状态的控制,如上图所示。9.9.其他注意事项其他注意事项1根据不同的通讯方式,选择正确的通讯电缆。2注意 EMC 及接地。3注意各站之间通讯参数的一致性。c.