抖音粉丝群1
『7x24小时有问必答』

AI浪潮下的计算机行业——从业者现状与未来展望
  
1,   功能描述
主要解决CPU1200CPU1500系列串口卡作为Modbus RTU master通讯的多命令轮询问题,同时支持串口卡的冷冗余。
支持以下Modbus 命令
01                                  读取开关量DO信息
02                                  读取开关量DI信息
03                                  读取模拟量AI信息
04                                  读取内部寄存器HR信息
05                                  写单个DO信息
06                                  写单个HR信息
15            写多个DO信息
16            写多个HR信息
  
2,   版本区分
驱动程序分为两个版本,功能和使用方法完全相同。
11500版本,适用西门子1500系列CPUET200SP系列CPU的集成PN端口
                   MODRTU_1500_PtP_Portal_V44_20210309_pub.al15,驱动程序名称,存放在Lib_1500_MODRTU目录下,下载时请注意。适用博图(Portal) V15及以后版本
注意其中使用到的标准块的版本:
PtP Communication   V3.1
Send_P2P   V3.0
Receive_P2P   V2.0
Receive_Reset V1.2
Get_IM_DATA V1.3
21200版本,适用西门子1200系列CPU的集成PN端口
                   MODRTU_1200_PtP_Portal_V44_20210309_pub.al15,驱动程序名称,存放在Lib_1200_MODRTU目录下,下载时请注意。适用博图(Portal) V15及以后版本
注意其中使用到的标准块的版本:
PtP Communication   V3.1
Send_P2P   V3.0
Receive_P2P   V2.0
Receive_Reset V1.2
Get_IM_DATA V1.3
  
  
VB配置界面版本,用于配置Modbus命令,生成DB
ModbusRTU_Portal_V4.0.exe                                 通用配置版本

  
3,   文件提供形式
库文件(例)
1.jpeg
                                         
VB配置界面
2.jpeg

授权EXCEL文件(例)

  
3.jpeg
  
4,   使用方法
4.1 新的程序
配置系统硬件,根据实际硬件信息配置
本文档支持的CPU包括 S7-1200S7-1500S7-ET200SP所有CPU及对应的串口卡
4.2 配置通讯条件
               在端口组态页面:将端口配置为485接口,根据从站情况配置通讯条件,默认9600,N,8,1
4.jpeg

  
4.3 记下通讯卡的硬件标识地址
(一般这个地址也会是一个全局的变量,系统自动编号)
5.jpeg

我们配置后的地址是269
  
4.4 设置完成编译程序,完成硬件组态,并下载硬件组态。
4.5 打开库文件
               在编程界面,打开库目录
6.jpeg
使用打开库按钮,找到对应的库文件打开
7.jpeg
  

4.6 将以上的文件拖动到程序中,并在OB1中调用这个块

  
8.jpeg
  
3.7 配置程序
LADDR                           第一个串口卡的 硬件地址,可以通过”Local~CM_****”方式直接选用
LADDR2                     第二个串口卡的 硬件地址,可以通过”Local~CM_****”方式直接选用,如果需要使用modbus串口冗余,则需要填写这个信息,否则可以直接空着
Redn_EN                   冗余功能开放信号,0=不开放(默认),1=开放
Switch_NUM  开启冗余功能时,当前运行的设备出错次数达到这个值,则切换
BLKTYPE             开发者标识    必须为 ‘J’       (大写)
LIN                                       功能块授权号,通过购买获得
SysCycTime    两条命令之间的循环等待时间,默认500ms,可以自由设定,建议不小于20ms
STRT_SEQ         程序块启动信号,true=正常工作,False=停止工作
WORK_DB               VB配置界中,“工作数据块”的实际数值
LIN_TYPE                 软件授权方式,0=与串口卡绑定,1=CPU绑定
CPUADDR               CPU的硬件标识符,一般通过直接配置系统默认变量Local即可,软件授权与CPU绑定时使用
LINSTR1                     软件授权码,8位字母和数字混合的字符串
                                                 如果LIN_TYPE=0,则此位为LADDR配置的串口卡对应的授权信息
如果LIN_TYPE=1,则此位为CPU对应的授权信息
LINSTR2                     软件授权码,8位字母和数字混合的字符串,此位为LADDR2配置的串口卡对应的授权信息
  
QERR                 0=正常  1=故障
QErr_val                     故障代码,故障码意义及处理方法,请参见文档
<modbus驱动常见错误和解决方法[ span].pdf="">
QRunSeq                   当前的循环命令号
5,   Modbus命令的配置
5.1 运行文件ModbusRTU_Portal_V4.0.exe
              
                以下看到的图片可能存在版本错误,请以下载到的最新文档为准

               如果没法运行,请安装VB6,简易的或者完整的都可以。
5.2     主界面上部的各DB块,注意不要重复及和原程序中冲突
9.jpeg
5.3 选择命令信息

               从站地址    总线上modbus的从站地址
Modbus命令   根据需要选择适合的命令
07                                  读取开关量DO信息
08                                  读取开关量DI信息
09                                  读取模拟量AI信息
10                                  读取内部寄存器HR信息
11                                  写单个DO信息
12                                  写单个HR信息
15            写多个DO信息
16            写多个HR信息
               起始地址,需要读取的数据的开始位 去掉最高位,例 40001,填写 140016 填写16
               数据个数:需要读取的数据数量,开关量最大800个,模拟量最大50
超时时间:此时间为当没有从站时,系统的看门狗时间,单位是ms,默认500,如果出现无法读取到某个站的情况,可以适当放大这个值,比如3000
  
               写命令模式       ,常写               每次都会把设定值写到从站去
                                                                仅改变时  需要写的数据出现改变,才将数据写到从站去
               添加                                 依次添加命令
               修改                                 将当前设置的参数替换被选中的行
               删除                                 可以删除被选中的行的数据
               复位                                 删除所有已经配置的命令
               生成SCL                   将所有命令转换成DB块中的配置
               导出配置               可以将当前的配置到处成文件
               导入配置               将以前的配置导入,进行修改
5.4    生成命令,并存为SCL文件
10.jpeg

点击浏览按钮,选择文件地址和文件名称
点击 保存为SCL文件,将命令信息保存到指定地址
5.5    生成的SCL,默认会在VB程序目录下,生成CreateDB.SCL文件

  
11.jpeg
6,   将配置导入程序
12.jpeg

在外部源文件目录下,双击添加新的外部源文件
找到刚才生成的SCL文件
13.jpeg
看到我们新的文件已经导入
右键点击这个文件,选择从源生成块

  
14.jpeg
可以看到,我们需要的块已经生成了
15.jpeg

DB 20   工作数据块
DB21     读命令数据块,如果配置了读取命令,则此块生成,否则不生成
DB22     写命令数据块,如果配置了写命令,则此块生成,否则不生成
DB23     写命令比较块,如果配置了写命令,则此块生成,否则不生成
DB24     数据存储数据块
  
注意:这一步很重要,需要把我们生成的所有DB的“优化的块访问”选项去掉
右键点击DB块,选择“属性”,在常规à属性下

  
16.jpeg
  
7,   确认下功能块上的 Work_DB 设置的参数与VB程序中工作数据块配置的数值是否一致
  
  
8,   编译所有的软硬件,并下载到PLC
17.jpeg
无错误情况下编译完成。
18.jpeg

9,   以下信息很重要,请仔细阅读和理解
9.1 写命令数据块
注意:如果你没有配置写命令,则这个数据块将不会产生
19.jpeg

根据你的命令条数,在对应的命令的DATA_??   位置,修改你的数据,就可以被写入到从站去。
注意:不要修改其他位置的数据,否则会引起程序错误。如果修改了,则可以使用SCL文件从新生成的方法,再次生成这些数据。
  
特别注意:写命令 05
在对应位输入16#FF00 表示置116#0000   表示置0
9.2 数据存储数据块
  
20.jpeg

返回每一条命令的信息
第一个字,返回这条命令的执行情况。
命令故障信息,
0 --------       OK
1 --------       No response
2 --------       The station id error
3 --------       The return command error
4 --------       CRC error
  
如果是读命令,则后续跟着的是所有读取到的数据
  
如果是写命令,则只有第0位的命令状态,没有返回信息

感谢关注  “地心客工作室  公众号,获得更多资讯
21.jpeg

</modbus驱动常见错误和解决方法[>

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码