OPC2Modbus
使用手册
目 录
本手册属于上海迅饶自动化科技有限公司及授权许可者版权所有,保留一切权利,未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本书内容的部分或全部。由于产品版本升级或其他原因,本手册内容有可能变更。上海迅饶自动化科技有限公司保留在没有任何通知或者提示的情况下对本手册的内容进行修改的权利。本手册仅作为使用指导,本公司尽全力在本手册中提供准确的信息。
l 技术支持邮箱:support@opcmaster.com
l 技术支持热线电话:021-58776098
l 网址:http://www.opcmaster.com或http://www.bacnetchina.com
日期 | 版本号 | 备注 |
2013.10.15 | Oct 12 2013(Unicode) | 此版本是由本公司的OPCBridge演变而来,最初版本是英文版本。 |
2013.12.16 | Dec 13 2013(Unicode) | 此版本新增加了中文资源,使得此版本支持中文,此次修改说明书也是整合之前的文档。 |
2015.2.25 | Jan 9 2015(Unicode) | 此版本新增对多串口访问的支持; 新增特定网口的映射功能; 新增modbus映射寄存器类型和地址的批量修改; |
l 绿色版,无需安装过程,直接使用
l 软件支持Windows XP/2000/2003/Win 7/Win8/Win Server 2003/Win Server2008/Win Vista操作系统。
本软件为协议转换软件,从OPC server端获取数据,然后通过协议转换成Modbus server端,供第三方设备或系统进行访问,支持Modbus RTU模式和Modbus TCP模式。
场景一:目前大多数现场控制系统(DCS)都提供OPC server接口,但是为了安全起见,很多生产型企业的OPC服务器禁止外部的设备或系统通过TCP方式接入,对外只提供串口。在这种情况下,可以在OPC服务器上部署OPC2Modbus软件,通过在本地将OPC协议转换成Modbus RTU协议映射到相应的串口,就很方便的供第三方硬件或系统进行访问。
场景二:OPC2Modbus软件可以用来解决远程访问OPC服务器遇到的DCOM配置问题(远程OPC缺点:通讯不稳定,DCOM配置麻烦,不利于维护)。在OPC服务器运行的电脑上安装OPC2Modbus软件后,通过此软件读取OPC服务器并转换成Modbus服务器,这样其它电脑仅仅通过访问Modbus服务器,就可以实现监视和控制(读写OPC服务器)。
场景三:可以让Linux平台的设备(如某些工业触摸屏)或者不带操作系统的设备(如PLC)通过Modbus协议可以访问PC上的OPC服务器,从而实现系统集成。
本软件优点:可配置性强,操作简单,稳定可靠,程序退出后,自动保存时间日志。在OPC服务器意外关闭的时候,该软件能够使OPC服务器自动运行起来,还支持多国语言,方便用户操作。
l 解决工业触摸屏访问OPC服务器;
l 解决不带Windows操作系统的控制器访问OPC服务器,如Linux OS 电脑、PLC、DCS等;
l 解决访问Citect、IFIX、RSVIEW、WINCC、组态王、易控等组态软件远程OPC服务器的问题;
l 等等……
点击运行主程序OPC2Modbus.exe。备注:在事件窗口会提示“授权无效,欢迎使用30分钟试用版本!”,表示用户现在使用的是30分钟试用版本,需要正常使用需购买我司提供的授权USB硬件狗(软加密也支持)。
OPC2Modbus主界面如下图3-1所示。
图3-1 OPC2Modbus主界面
点击工具栏里面亮起来的按钮或者点击菜单栏“编辑”,在显示的选项中点击“新建服务器”,会弹出如图3-1-1显示的对话框,选择我们需要连接的OPC服务器。
图3-1-1新建服务器
图3-1-2 连接服务器
点击确定按钮。添加OPC服务器完成,如图3-1-3。
图3-1-3 OPC服务器添加完成
点击工具栏中的按钮或者点击菜单栏“编辑”,在显示的选项中点击“新建组”,或者选中已连接的OPC服务器点击右键选择“新建组”后,会弹出如图3-2-1所示的对话框,对话框会显示新建组的一些信息,我们可以根据需要为组命名,下图中我们命名No1。其他的选项我们选择默认或者根据需要进行设置。
图3-2-1 新建组
注意:更新通知默认为OPC 2.0 Async Read (异步读值),当用户连接OPC服务器、新建组、新建标签都正常,但读值是Uncertain时,可选择OPC 2.0 Sync Read(同步读值)。
图 3-2-2 更新通知
点击工具栏中的按钮或者点击菜单栏“编辑”,在显示的选项中点击“新建标签”,或者如下图3-3-1所示选中所在组点击右键选择“新建标签”。
图3-3-1 选择新建标签
弹出如下图3-3-2所示的对话框。
图3-3-2 浏览标签
添加标签有两种方式:
1、直接填写标签ID
此种方式适合事先知道标签ID情况,在这种情况下可以直接输入,点击进行检查确认无误后确认即可。
2、从地址树里选择添加
可以选择所连服务器里面的标签进行添加,如下图3-3-3所示。
图3-3-3 添加标签
用户如果想指定Item的数据类型,可以在数据类型下拉框选择,通常默认为Native数据类型,表示使用OPC服务器默认的数据类型。点击“确定”按钮完成标签的添加。
注意:一般情况下,“在当前分智浏览平面地址空间”前面的选择框不要勾选,因为此种情况下,该软件会将OPC服务器地址空间遍历一次,如果变量比较多的情况下,软件会花费较长的时间。
图3-3-4 添加标签完成
选中需要关联的标签点击右键,选择“关联Modbus服务器…”。
Modbus映射批量修改小技巧
在通讯数据量比较大的情况下,批量修改将会使配点工作事半功倍,主要包括寄存器类型的批量修改和寄存器地址的批量修改两种。
1、寄存器类型的修改
鼠标右键单击Modbus寄存器类型标题可以将所有数据进行修改
图3-4-1 Modbus寄存器类型全部批量修改截图
或者选定某几行标签后在Modbus寄存器类型一栏右键菜单,选择部分批量修改。
图3-4-2 Modbus寄存器类型部分批量修改截图
2、寄存器地址的修改
鼠标右键Modbus寄存器地址,在对话框里输入基准值和递增间隔后确认就可以全部批量修改。
图3-4-3Modbus寄存器地址全部批量修改截图
或者选定某几行标签后在Modbus寄存器地址一栏右键菜单,在对话框里输入基准值和递增间隔后就可以将选定区域的标签地址批量修改。
图3-4-4 Modbus寄存器地址部分批量修改截图
图3-4-5 选择关联Modbus服务器
或者双击该标签,会弹出如图3-4-6所示对话框:
图3-4-6 关联寄存器类型和寄存器地址
注意:寄存器类型支持0X,1X,3X,4X分别对应1,2,4,3功能码;关联的Modbus寄存器地址从1开始。
如需对该标签进行放大缩小可以勾选启用线性装换功能;
如要将该值放大100倍,可做如下图3-4-7所示;
图3-4-7 线性转换放大100倍
如需对整型变量标签(Word,Short,DWord,Long)进行数据位取位,然后关联到线圈寄存器01功能码(0X Coil Status),02功能码(1X Input Status),可做如下图3-4-8所示;
图3-4-8 整型变量取位
然后选择寄存器类型、设置寄存器地址和备注该标签代表的含义。
标签关联完成后如下图3-4-9。
图3-4-9 关联标签完成
这里注意,如果想取消某个标签的关联,只需将标签属性框里的“地址”置为0即可,如下图3-4-10。
图3-4-10 取消某个标签的关联
配点的工作完成之后,就需要对访问端口进行设置。本软件支持串口和网口两种端口(Modbus RTU和Modbus TCP)映射
图3-5-1 选择ModbusTCP设置
l Modbus TCP端口设置
图3-5-2 ModbusTCP设置
IP Adapter会列出当前服务器可用的以太网适配器及型号,可以根据实际需要选择任何不被占用的以太网端口。
端口号系统默认为502,一般情况下不需要做修改。
系统在默认情况下会开启Modbus TCP服务,即只需要将对应网卡选择好外部就可以进行数据访问。
l Modbus RTU端口设置
图3-1-17 ModbusRTU设置
本版本软件最多支持4个RTU端口的映射,可根据实际情况选择其中一个或多个端口。当选中其中一个活多个端口时,会激活相对应的可用串口清单(串口范围COM1~COM99)。
Modbus RTU通讯参数的设置对四个通道同时有效
站号:支持0~247
波特率:支持300、600、1200、4800、9600、19200、38400、56000、57600、115200bps
数据位:7位或8位
停止位:1、1.5、2位
校验位:奇(Odd)校验、偶(Even)校验和无校验
将以上各项设置完成后Modbus RTU服务启动。
串口(COM)连接测试方式:
点击菜单“Connection”中“Connect.. F3”进行连接,如下图4-1-1。
图4-1-1 Modbus Poll连接
弹出连接对话框如下图4-1-2所示。
图4-1-2 串口连接参数设置
其中:Port1,表示使用的串口(COM1),串口各项设置须与OPC2Modbus中Modbus服务器设置一致。
TCP/IP连接测试方式:
点击菜单“Connection”中“Connect.. F3”进行连接,如下图4-1-3。
图4-1-3 ModbusPoll 连接
弹出连接对话框如下图4-1-4。
图4-1-4 TCP/IP连接参数设置
其中IP Address为要访问的主机地址,port端口与OPC2Modbus中端口设置一致。
点击菜单“Setup”中“Poll Definition.. F2”进行站号设置,如下图3-2-5。
图4-2-1 从站配置示意图
我们通过第三方软件Modbus Poll来访问我们的Modbus服务器获取OPC服务器数据,Slave即为OPC2Modbus软件端设置的站号。我们的寄存地址的初始地址是1,也就是说第三方采集的第1个数据跟寄存地址1相对应,类推下来2跟2相对,从下图3-2-8可以看到寄存地址为1的数值跟第三方软件40001读取显示的数值相同,40002的读只跟寄存地址2显示的数值是一致的,说明软件配置成功。
图4-2-2 配置成功示意图
数据类型和Modbus寄存器个数对应表如下表4-1。
序号 | 数据类型 | 占用Modbus寄存器个数 |
1 | BOOL(布尔) | 1个 |
2 | Short(有符号短整型) | 1个 |
3 | WORD(无符号短整型) | 1个 |
4 | Long(有符号整型) | 2个 |
5 | DWORD(无符号长整型) | 2个 |
6 | Float(单精度浮点型) | 2个 |
7 | Double(双精度浮点型)) | 4个 |
表4-1 Modbus数据类型
备注:有的组态软件不支持双精度浮点,勾选OPC2Modbus软件“工具”菜单下“将Double型转成浮点型”后,可以用2个Modbus寄存器表示Double类型。
保存所建工程文档如下图4-3-1所示。
图4-3-1 保存所建工程文档
当需要采集的点数比较多时,也可以利用软件自带的导入导出EXCEL文件功能,可以批量修改导出的CSV文件,这样可以增加配置工程的效率。如下图4-4-1,在工具栏选择“导出EXCEL文件”。
图4-4-1 导出标签到EXCEL表
打开导出的CSV文件,如下图4-4-2。
图4-4-2 打开文件No1
在CSV表中可以进行批量编辑,如下图4-4-3。
图4-4-3 编辑导出的文件
将导出的No1.csv文件进行更改后保存,然后再选择导入EXCEL功能,将编辑好的文件添加进来,如下图4-4-4。
图4-4-4 导入EXCEL表
导入之后,可以看到在EXCEL表中进行批量编辑的Tag的属性已经自动添加进来了,如下图4-4-5。
图4-4-5 导入EXCEL
为了防止用户电脑意外重启而导致软件无法运行,本软件还自带了开机自启动的功能,在菜单栏点击“工具”,选择“允许开自动运行”,如下图4-5-1。
图4-5-1 选择开机自启动
软件授权分为USB硬件加密狗和注册码软授权:USB硬件加密狗为即插即用,不受电脑限制;注册码授权是只能固定在一台电脑上使用。用户可以根据需要进行选择。
安装好的OPC2Modbus是30分钟试用版的。软件试用版每隔半小时提醒一次授权无效。
如果是硬件授权,当插入授权USB硬件狗时系统会自动检测USB授权是否成功。
如果是注册码授权,用户需将软件在所安装的电脑上产生的机器码拷贝给本公司,由本公司授予一个与之唯一相匹配的授权码,用户注册之后即可使用。在菜单栏点击“帮助”,选择“软授权”即可弹出授权窗口,如下图5-1。
图5-1 软授权
图5-2 获得注册码
本版本新增加了支持多种语言的功能,目前仅支持中英文。本软件会根据用户所使用的操作系统自动选择语言,用户也可以手动选择语言,如下图6-1,点击菜单栏“视图选项”,选择“语言设置选项”。
图6-1 选择语言设置
在弹出的对话框中可以选择操作语言,如下图6-2。
图6-2 选择操作语言
本网关还带有JS脚本编辑器,用户可以通过编辑脚本语言实现一些逻辑控制。脚本编辑器内置一些常用函数,用户可以选择一些函数编辑语言,在编辑完成后,点击“语法检查”,会自动检查语法。假如有语法错误,会提示具体哪一行语法有问题。
点击菜单栏“视图”选择“JS脚本编辑器”,或者点击工具栏即可打开脚本编辑器,如图7-1-1所示。
图7-1-1 打开JS脚本编辑器
在弹出来的脚本编辑器中右键选择新建脚本,如图7-1-2所示。
图7-1-2 新建JS脚本
用户可以利用“内部变量”功能新建一个变量和相关函数配合使用,用来接收或存储变量数据,比如取Tag的当前值,映射到一个新的内部变量。在脚本编辑器内点击“内部变量”,在弹出来的窗口中右键选择“新建”,如下图7-1-3。
图7-1-3 选择新建内部变量
在弹出的窗口中,设置变量相关属性,如果要快速查看内部变量的当前值,可以点击菜单栏“视图”选项,选择“内部变量”即可在弹出来的窗口中查看实时数据,如图7-1-4所示。
图7-1-4 新建内部变量
另外,用户也可以根据外部变量的数据变化采用相关函数进行逻辑控制,譬如根据某一个外部变量的数值变化范围设置不同的逻辑控制。在脚本编辑器内点击“外部变量”,在展开的变量表中双击某一个变量即可使用,如下图7-1-5。
图7-1-5 选择外部变量
完成编程后,用户可以使用“语法检查”功能检查是否存在语法错误问题,如果程序有问题,则会给出提示。
JS脚本编辑器内置的常用函数说明如下:
1.Tag操作函数
ReadFromTag是从Tag里取值函数。
语法:
var szValue = ReadFromTag(‘szTagName’);
WriteToTag 是写值到Tag函数,用于对外部变量的Tag赋值,会执行对设备一个写操作。
语法:
var szValue = 100;
WriteToTag (‘szTagName’, szValue.toString());其中’szTagName’从外部变量中选取。
GetTagQuality是从Tag里取质量戳。返回的结果符合OPC规范。即Good返回192,Bad返回0,Uncertainn为64,表示值未赋值,尚未被更新。
var varQuality = GetTagQuality(‘szTagName’); 其中’szTagName’从外部变量中选取。
MoveValue实现把源数据写到目的数据中,不同点之间的数据传递。
语法:
MoveValue(‘Source Tag Name’, ‘Destination Tag Name’);其中Source Tag Name为源数据点名称,Destination Tag Name为目的数据名称。这里参数既可为外部变量也可为内部变量。
图7-2-1 MoveValue
MoveValue函数应用场景:
① 两个OPC服务器之间相互访问和控制。
OPC2Modbus网关分别采集两个不同的服务器设备,把一个OPC服务器读过来的数据点传递给另外一个服务器上的控制点,即可用MoveValue函数进行逻辑编辑,进行两个采集端的数据相互访问和控制。
②、用一个内部变量点控制所有外部变量点。
MoveValue('内部变量', '外部变量1');
MoveValue('内部变量', '外部变量2');
MoveValue('内部变量', '外部变量3');
MoveValue('内部变量', '外部变量4');
MoveValue('内部变量', '外部变量n');
这个就是实现当内部变量发生变化时,外部变量1-n可以同时变化。
譬如在界面上改一个温度,网关连的N个温控器的设定温度都一起改了。
2.系统函数
alert()函数输出字符串,主要用于调试。返回的结果显示在Runtime.exe的日志上。也可以显示在网页通信状态上。
语法:
譬如输出质量戳的返回值
alert(varQuality.toString());
Sleep(1000)函数,用于延迟,表示延迟1秒钟。单位毫秒。
打开脚本编辑器, 实现取Tag“Channel_1.Device_1.Tag_2”的当前值缩小20倍,映射到内部变量T1。注意T1变量需要在内部变量列表里创建。
var szValue = ReadFromTag(‘Channel_1.Device_1.Tag_2’);
var newValue=Number(szValue);//字符串强转整型
newValue= newValue * 0.05;
WriteToTag('T1', newValue.toString());
脚本编辑器支持所有数学计算的语法,譬如取0-255之间的随机数等,
举例说明:
var rand = Math.round(Math.random() * 255);
alert (rand.toString());
注意执行周期代表多久执行一次脚本!
图7-3-1 脚本范例
在内部变量查看运行效果,成功缩小20倍。如图7-3-2所示。
图7-3-2 JS代码运行效果
本软件产品登记证书和软件著作权证书已经获得国家认可,证书如下图。
图8-1 软件产品登记证书
楼主最近还看过