力控MODBUS

力控MODBUS
力控MODBUS

概述系统连接硬件连接硬件设置设备组态数据连接常见问题

概述

标准的MODBUS协议支持与莫迪康系列PLC、智能模块或者符合标准modbus通讯协议PLC、智能模块之间的通讯。本协议采用串行通讯和TCP以太网通讯,使用你计算机中的串口或者以太网。

系统连接

当选择串行口通讯协议时,您可以通过一个RS232-RS485转换器将一台或多台PLC、智能模块与计算机连接到一起。当用一条485总线连接多台PLC、智能模块时,每台PLC、智能模块的地址必须是唯一的.当选择TCP通讯协议时,您可以通过以太网将一台或多台PLC、智能模块与计算机连接到一起。

硬件连接

请参照您所使用的PLC或智能模块的通讯说明进行连接。

设备组态

设备驱动根据通讯协议不同分为串口ASCII,串口RTU,TCP等三种协议。如图:根据您所使用的PLC、智能模块的通讯形式选择设备驱动。

下图是设备组态用户界面:

根据PLC或智能模块内部设置的地址填写“设备地址”。

更新周期:默认50毫秒就是说每隔一个更新周期读一次数据包。请根据组态工程的实际需要和PLC的通讯反应时间设定。超时时间:默认8秒,当到超时时间的时候,PLC的数据还没传上来被认为是一次通讯超时。请根据组态工程的实际需要和现场的通讯情况设定。故障后恢复查询:当设备发生故障导致通讯中断,系统会每隔一定“周期”查询该设备。直到“最长时间”如果还没有反应,在这次运行过程中系统将不再查询该设备。

“动态优化”和“初始禁止”请在力控工程人员的指导下使用,否则请保持默认状态。

下图为串口通讯设置:请根据PLC或智能模块的通讯说明设置( 波特率,数据位,校验位,停止位。)

下图为TCP通讯界面:

下图关于MODBUS协议通讯设置。

32位数据的读取:主要是解决如何解析32位整数、浮点数。

请根据你所使用的PLC或智能模块中32位数据类型上传的格式来选择相应的格式。

包的最大长度:是指MODBUS中一条数据所读取的字节数,

包的长度越长,一次读取的数据就越多,通讯效率就越快。

MODBUS协议中规定数据包最大长度不能超过255。另外有些PLC对包长还有限制,请根据具体情况配置。

6号命令对应MODBUS协议06功能代码;预置寄存器地址从40000开始的数据——预制单个寄存器。当你选择6号命令时,组点时下置数据时将使用6号命令。

16号命令对应MODBUS协议10功能代码;预置寄存器地址从40000开始的数据——预制多个寄存器。当你选择16号命令时,组点时下置数据时候将使用16号命令。

数据连接

下图是数据连接用户界面:

“01号命令”:对应着MODBUS协议01功能代码;也就是读寄存器地址从0开始的数据——读线圈状态,读DO离散输出寄存器。

“02号命令”:对应着MODBUS协议02功能代码;也就是读寄存器地址从10000开始的数据——读输入状态,读DI离散输入寄存器。

“03号命令”:对应着MODBUS协议03功能代码;也就是读寄存器地址从40000开始的数据——读线保持寄存器,读HR保持寄存器。

“04号命令”:对应着MODBUS协议04功能代码;也就是读寄存器地址从30000开始的数据——读输入寄存器,读AR输入寄存器。

“05号命令”:对应着MODBUS协议05功能代码;也就是写寄存器地址从0开始的数据——强制单个线圈。

“08号命令”:对应着MODBUS协议08功能代码;——诊断。

组态时请注意两点:

1、请了解清楚您的设备地址是从1开始的,还是从0开始的。如果是从1开始就直接填写原地址即可;如果是从0开始的要在原地址的基础上加1才行。

2、如果您的设备地址是4XXXX、3XXXX、1XXXX,请根据上文选择相对应的命令,然后添上后四位地址即可。

例如:

您要读取的寄存器地址10009,寄存器地址从0开始。

在力控中组态进行如下组态:

因为是地址是10009,所以选择“02号命令”

如果寄存器地址是从0开始,地址9要加1变为10;

02号命令为只读DI.

01、05号命令为可读可写DO.

03、04命令可以选择多种数据类型,如果当前数据点选择32位数据类型数据地址为12,那么下一个数据点的地址就要从14开始。

常见问题

1、如果不能正常通讯,请依次检查下列设置:

a、设备的站号,波特率,停止位,数据位,奇偶校验等的设置是否正确。

b、通讯校验时间间隔的设置是否正确,设置为0将导致设备不能通讯。

2、如果某些参数的读写总是返回错误信息,请查看该设备的使用说明是否填写的地址超出寄存器有效地址范围。

3、如果所有参数的读写都返回错误信息,请检查“等待时间”的设置。

4、如果所有参数的读写均超时,请检查设备连接情况。

5、如果32位数据格式读写的数据不对,请根据具体的结构到

“设备配置第三步”的界面中修改。

6、如果读出的数据与实际的数据不符,请检查寄存器的地址是否是从0开始还是从1开始,如果从0开始的要在原地址的基础上加1。

力控教程

KNT-WP01型风光互补发电综合实训系统教程之力控教程建立一个新的项目的基本流程: 1、打开软件:双击桌面上的图标,打开软件,弹出工程管理器对话框,如图1所示, 图1 2、新建工程:点击工程管理对话框上的按钮,弹出新建工程对话框,如图2所示,可对工程项目进行命名等,点击确定。 图2

3、工程开发制作,点击工程管理对话框上的按钮,弹出如图3所示界面,对工程进行开发制作。 图3 4、新建窗口,双击开发系统左侧的,弹出窗口对话框,如图4所示, 图4 可对窗口属性进行设定,如名字、背景色等。 5、新建I/O设备组态,双击图标,可对PLC、变频器、modbus 等下位设备进行I/O设备组态设置。对话框如图5所示,

图5 各设备组态可对其设备名称,设备地址,串口,波特率,奇偶校验,数据位以及停止位等进 行设置,如下图6、7所示: 图6 图7

表1为各设备的I/O设备的串口,波特率,奇偶校验,数据位,停止位的一些参数。 6、建立数据库组态,双击图标,弹出数据库组态对话框,如图8所示: 图8

可建立开关量、模拟量等数据库变量,如表2所示。 7、画图,建立链接。 该图标为图库标志,可选择各个按钮或指示灯。 该标志位工具栏标志,可选择按钮和文本框等。

8、专家报表。 点击工具下拉菜单中的“专家报表”,如图9所示, 图9 9、趋势曲线 点击工具下拉菜单的复合组件,弹出如下对话框,点击曲线模板,得到趋势曲线模板。如图10所示。 图10 10、一些程序脚本, 死区时间选择的脚本: deadtime.pv=strtoint(#combobox44.listgetbtem(#combobox44.listgetselection())) 变频器启动脚本:按下鼠标对话框中, A0.PV=1;A1.PV=1;A2.PV=1;A3.PV~A6.PV=1;A7.PV~A9.PV=0;A10.PV=1:;A11~A14.PV=0; 释放鼠标对话框中输入:F_set.pv=50。 变频器停止脚本:按下鼠标对话框中输入: A0.PV=0;A1.PV=1;A2.PV=1;A3.PV~A6.PV=1;A7.PV~A9.PV=0;A10.PV=1:;A11~A14.PV=0; 释放鼠标对话框中输入:F_set.pv=0。 脚本对话框有以下步骤弹出:双击画出的按钮图标,得到对话框,如图11所示。

力控pFieldComm通讯协议转发器简介

北京三维力控科技有限公司 https://www.360docs.net/doc/dc1628175.html,/ pFieldComm 通讯协议转发器

北京三维力控科技有限公司 https://www.360docs.net/doc/dc1628175.html,/ pFieldComm 通讯协议转发器 一.适用范围 国内企业的自动化系统中,由于历史原因,存在着大量的不同厂家和不同通讯方式的设备。设备之间的数据不能共享已经制约了企业信息化的发展,在一个自动化工程当中,自动化工程技术人员经常因为各种自动化装置之间的通讯调试而花费大量的时间,一个简单的系统间通讯问题常常莫名其妙地占用一半左右的调试时间。同时远程通讯技术的发展,使远程的诊断和设备维护成为可能。使用pFieldComm 以后,就可以大大节省这些不必要的调试时间,使各种自动化装置之间的通讯变得轻松简便,远程的设备监控成为可能。pFieldComm 通讯协议转发器是一种新型的通讯协议自动转发装置,主要用于各种综合自动化系统之间的互连通讯,实现数据共享,彻底解决信息孤岛问题,也适用于其他需要通讯协议转换的应用。 二. 功能特点 2.1 概述 本装置可以从通讯协议级实现串口(包括RS232、RS485、RS422等)、以太网、各种现场总线(包括CAN 、LonWorks 、Profibus 等)通讯网络的相互转换。以便与其它设备或调度间进行实时的数据交换;同时完成 各个 网络上所有测量、控制、保护、信号等数据汇总工作,按RS-232 、RS-485、各种现场总线或以太网通讯方式传输,可与调度系统按相关通讯规约连接,构成分散式控制RTU 系统。 2.2 pFieldComm 工作原理 实质上,pFieldComm 是一个能够进行自动进行数据采集和自动数据转发的软件。pFieldComm 的数据采集是按照使用人员事先组态或者设定好的通讯协议进行数据采集,要采集数据设备的物理地址、采集数据的通道地址或者参数名称也是能够由使用人员自主设定。 pFieldComm 的数据转发,则是将pFieldComm 当作一台数据服务器,接受来自数据采集主机的数据采集指令。pFieldComm 的数据转发协议类型、站物理地址、转发数据通道地址或者参数名称由使用人员自主设定。 所有数据采集、转发均支持数据的读、写双向访问。 2.3 丰富的规约库及优秀的开放式驱动开发平台 pFieldComm 可以与多种I/O 设备进行通信。目前支持的I/O 设备包括:各电力厂家的保护测控装置、直流屏、小电流选线装置、VQC 自动装置、可编程控制器(PLC)、DCS 、智能模块、板卡、智能仪表、变频器等共有500多种。 pFieldComm 的数据转发模块目前支持多种标准规约,比如IEC60870-5-101/103/104,CDT ,Modbus ,1801,DNP 等。 pFieldComm 与I/O 设备之间通过以下几种方式进行数据交换:串行通信方式(支持Modem 远程通信)、板卡方式、网络节点方式、适配器方式、OPC 方式、

力控与力控通讯总结概要

力控与力控之间通讯总结 通过测试,力控与力控之间的通讯方式有commsever、datesever、netsever和opc,现将这四种方法的测试步骤和在测试过程中要注意的事项做了如下说明,以下测试都是在局域网中搭建的,在广域网中搭建的话有说明,广域网举例附图: https://www.360docs.net/doc/dc1628175.html,msever测试方法: 1.在作为服务器的计算机中打开力控数据库组态建点tag1.pv,运行commsever。

2.在设置中选择“通讯设置”,以网络通讯方式(被动方式)为例:本机IP 和端口输入作为服务器的计算机IP和端口,本机地址默认为0然后确定,提示重新启动commsever 。 3.在测试机(作为客户端)中新建IO驱动(力控-数据库-commsever通讯),服务器以网络通信方式为例所以客户端通信方式选择tcp/ip 设备地址 与服务器本机地址相同填0 ,点击下一步。

一步。

5.勾选允许同步历史,完成IO配置。 6.进入数据库组态建点a.pv,连接IO设备,增加。

7.参数是服务器端的点,以tag1.pv为例,参数填写tag1.pv 。 8.运行力控,将服务器端的tag1.pv在实时数据库中赋值,客户端a.pv的值与tag1.pv相同,commsever通讯正常。 (注:当设置客户端IO驱动时,设置的IP、端口、本机地址要与服务器相同。以上为局域网内commsever测试,当在广域网中搭建commsever 时,服务器的IP和端口为作为服务器计算机的IP和端口,客户端填写的IP是作为服务器的计算机的公网IP,端口为路由器映射出的作为服务

器的计算机的端口)。 2.opc测试方法: 1.组件配置(开始-运行-dcomcnfg 进入组件服务)。 2.配置我的电脑(右键-属性配置COM安全)选择访问权限:编辑限制: 添加everyone和ANONYMOUS LOGON 将访问权限全部选择允许,选择编辑 默认值:添加everyone和ANONYMOUS LOGON 将访问权限全部选择允许。 选择启动和激活权限:编辑限制:添加everyone和ANONYMOUS LOGON 将 访问权限全部选择允许,选择编辑默认值:添加everyone和ANONYMOUS

51单片机与力控modbus通信

网上关于单片机和力控modbus通信的实例很少,关键并不是modbus协议而是力控与单片机连接的设置,下面的程序是基于51单片机做的。在正个调试过程中由于我们不清楚力控发送给单片机的请求数据格式,我们可以用串口调试工具进行串口调试,将力控发送请求显示在串口调试工具中,其中单片机的程序如下 #include #include #define uchar unsigned char //一个字节 #define uint unsigned int // 两个字节 void send_char(unsigned char txd); uint rece_count=0; uint send_flag=0; uchar rece_buf[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; uint i; /*串行口初始化*/ void chushi() {SCON=0x50; //串口工作方式1,即10位异步 PCON=0x00;//波特率不倍增 TMOD=0x20; TH1=TL1=0xfa; TR1=1; } /*主程序*/ main() {chushi(); rece_count=0; while(1) { if(RI) {RI=0; if(rece_count<8) { rece_buf[rece_count]=SBUF; rece_count++; } } if(rece_count==8) { send_flag=1; } while(send_flag==1)

{ for(i=0;i<8;i++) {SBUF=rece_buf[i]; while(TI==0) ; TI=0; } } } } 打开力控运行,将发送的数据保存到单片机中,然后打开串口调试工具,显示如下: 我们看力控发送请求的格式:01 03 ff ff 00 01 84 2e,最后的两位crc是高位在前,低位在后。Crc的高低位的前后顺序一定要注意,尤其在单片机编程中。

海为PLC与力控组态通讯实例

海为PLC与力控组态通讯实例 提示:1、本例使用的力控版本为6.1; 2、由于本例着重在于讲述海为PLC与力控组态通讯的建立,对于力控组态的一些基本使用操作不做过多赘述; 3、海为PLC和力控组态通讯时,海为PLC元件的初始地址从1开始,请结合海为PLC通讯地址代码表对工程使用中的元件地址做相应变化。 正文: 我们知道创建新的应用程序工程的一般过程是:绘制图形界面、配置I/O 设备、创建数据库、进行I/O数据连接、建立动画连接、运行及调试。 本例将按照这个程序,来实现海为PLC与力控组态之间的通讯。控制要求主要有:实现对PLC位元件Y0Y1的控制,对PLC寄存器元件V0V1及系统寄存器SV12、SV13...SV18(海为PLC内部系统时间年月日时分秒星期)的读写和监视。 1、绘制图形界面 按照本例的要求,简单绘制图形画面如下图: 2、配置I/O设备 在开发系统的工程项目中,双击IO设备组态

双击IO设备组态后出现,然后选择PLC下拉选项的MODICON(莫迪康)如下图:

双击MODICON(莫迪康),选择MODBUS (RTU串行口) 双击它,跳出设备配置步骤,进行如下设置: 设备名称自定,本例为:Haiwell

点击下一步:选择串口 这时候点击设置,进行通讯资料的设置,海为PLC默认的通讯格式为:19200 N 8 2 RTU

点击保存,点击下一步。如下图: 最后点击完成,就完成配置I/O设备的配置了。点击文件,选择退出设置。 3、创建数据库并与IO连接 双击工程项目中的数据库组态

跳出如下画面: 这时候双击NAME下的黑框,跳出如下画面:

力控forcecontrol选型说明

工业监控组态软件ForceControl6系列选型说明 (内部培训使用资料20081009) 一、ForceControl软件分类及授权方式: ForceControl软件按类别分为企业版、专业版、行业版、OEM版,按行业分为电力版、DCS专用版、温控版、楼宇版等行业版本,按性能模式分为开发版、通用运行版、标准网络运行版、WWW网络运行版、服务器运行版、扩展组件等,各种软件产品的加密授权方式不同,授权加密锁互不通用,因此定价也不尽相同,服务方式也不尽一样。 加密授权方式相同的版本价格策略基本相同,如温控版与通用版价格策略与服务模式一样。 很多OEM品牌的客户服务和定制开发是要按照严格的商务合同来执行,因此服务策略不完全一致,具体情况需要咨询相关销售负责人员。 二、ForceControl软件类别介绍 ForceControl软件按类别分为企业版、专业版、行业版、OEM版等版本,各个版本的授权文件与加密锁互不通用。 力控ForceControl软件各类别版本按应用模式分为开发版和运行版,产品是按照点数进行计算的,点数是指实际监控的外部I/O设备参数的个数,即软件内部的实时数据库DB中I/O连接项的个数,正式发行的产品开发版没有点数和时间的限制,购买软件时,开发版随运行版免费赠送,运行版分为通用监控版、标准网络版、WWW网络版等。 没有授权的ForceControl演示版的开发版和运行版分别有64点的限制,运行版只能运行一个小时,完全免费的不限点数的开发版可以直接咨询力控科技销售部和各地办事处,索要注册号即可以使用,经过加密锁进行授权。 ForceControl企业版是针对自动化等各类用户的通用商业版本,缺省情况下,产品是按点数收费,只记监控的外部I/O设备参数的个数,ForceControl企业版软件内部的中间变量、间接变量等不计价。 ForceControl专业版:与企业版差别为是对高校客户进行定制的教学及科研版本,所有力控forcecontrol的功能全部开放,如不计IO点数等,该版本为专用版本,可以供教学和科学研究使用。 ForceControl服务器版:与企业版的差别为软件内部的实时历史数据库采用高性能的历史数据库内核,历史数据库文件与通用组态软件历史文件不同,主要是为高性能“特殊”用户进行使用,不做为通用产品广泛发行。 ForceControl OEM版:OEM版是给用户进行“贴牌”,即以用户的品牌和产品方式体现,不出现力控forcecontrol的品牌标识,很多OEM厂家的产品只配套硬件厂家的驱动,同时连接的驱动个数也有限制,因此服务时候需要注意和咨询。

RS485采集模块与力控软件进行Modbus RTU通讯

M系列RS485采集模块与力控ForceContrl V7.0软件通讯 M系列RS485采集模块是基于RS485网络的数字量和模拟量采集模块,支持工业标准的Modbus RTU 协议,包括:M-IB16 (16路数字量输入模块)、M-OB16(16路数字量输出模块)、M-IF16C(16路模拟量输入模块)、M-OF8C(8路模拟量输出),可以与组态王、力控以及支持Modbus RTU协议的PLC等系统或软件联合使用,下面以M系列RS485采集模块与力控ForceControl V7.0软件进行通讯为例。 1、启动力控ForceControl V7.0软件,打开工程管理器,新建工程,输入项目名称、路径、描述等。 2、在ForceControl开发系统中,进行IO设备组态,配置M-IB16采集模块,设备地址为1。 第一步:输入设备名称、设备描述、更新周期、超时时间、设备地址和通讯方式。

第二步:输入串口号、波特率、数据位、停止位、奇偶校验。 第三步:设置保持寄存器写操作、线圈等参数,默认即可。

3、同上,配置M-OB16采集模块,设备地址为2。

4、在力控ForceControl软件数据库组态中定义变量,输入变量名、连接I/O设备、连接项。 M-IB16的16路数字量输入I0~I15分别对应到寄存器100001~100016,通过02号功能码进行读取: M-OB16的16路数字量输出Q0~Q15分别对应寄存器000001~000016,通过05号功能码进行写入操作:

5、在IOManager窗口,通过已建设备进行设备测试。IOTester窗口可以监测到M-IB16的数字量输入I0和I1为1:

力控数组指针的实现

:《再问如何把一个变量的采样值保存到一个数组中呢》本论题共有134人阅读,有4人回复。 我设计了一个循环,每隔一定时间把变量值赋给一个中间变量,但是发现这个数组的每个元素都是一样的值,不知是怎么回事?该如何解决呢? tmp为间接变量 WHILE(t<=15) DO t=t+1; tmp[t]=uc.PV; Delay(100); ENDWHILE yz 以下是对《再问如何把一个变量的采样值保存到一个数组中呢》的回复:111 sunwaywell

VarRedir(DbVar,"t" + IntToStr(i, 10) + ".pv"); DbVar = i; NEXT 这个循环结束后,可以看到t1 - t15都赋值完成了。 关于循环中用到的函数VarRedir,说明如下(详见力控联机帮助): VarRedir 数据库变量重定向。 语法 VarRedir(var, NewTagPar) 说明 用于将数据库变量或间接变量重定向,对于数据库变量改变变量的数据库参数名称,使其指向其他数据库参数;而对于间接变量则改变其变量指向,使其指向名字为 NewTagPar的变量,该变量在DRAW中一定要存在。 通常可用于历史报表,趋势中变量动态替换。 参数 var: 重定向变量,该变量必须为数据库变量或间接变量。 NewTagPar:字符串类型,新数据库参数或变量名称名称。 示例 VarRedir(dbvar1, "a1.pv");//dbvar1将指向数据库参数a1.pv VarRedir(dbvar1, "a2.pv");//dbvar1将指向数据库参数a2.pv dbvar1为已定义的数据库变量。 VarRedir(var, "var1"); var为间接变量,var1为要转向的变量名称。 sunwaywell

力控组态软件与硬件的通信方式及各自特点分析

力控可以与多种I/O设备进行通信。目前支持的I/O设备包括集散系统DCS、可编程控制器(PLC)、现场总线FCS、USB、智能模块、板卡、智能仪表、变频器等方式的设备。 一、力控组态软件与硬件的通信方式 力控与I/O设备之间一般通过以下几种方式进行数据交换:串行通信方式(支持Modem 远程通信)、板卡方式、网络节点方式、适配器方式、DDE方式、OPC方式、网桥方式支持GPRS的DTU等。 对于采用不同协议通信的I/O设备力控提供具有针对性的I/O驱动程序实时数据库借助I/O驱动程序对I/O设备执行数据的采集与回送。实时数据库与I/O驱动程序构成服务器/客户结构模式。一台运行实时数据库的计算机通过若干I/O驱动程序可同时连接任意多台I/O 设备。无论对于哪种设备都需要确切知道设备及该点的物理通道的编址方法(必要时咨询制造厂)。 1.1 串行通信方式 串行通信: 串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。 一般是通过标准RS-232、RS-422、RS-485等方式通信另外使RS-232互连的计算机串口和设备通信口还可以用Modem、电台、GPRS/CDMA等方式通信。 1.1.1 串行通信两种类型 1、同步通信 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。 它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。 2、异步通信 异步通信中,在异步通信中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。 接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。 1.1.2 串行通信特点 数据在单条一位宽的传输线上,一比特接一比特地按顺序传送的方式称为串行通信。在并行通信中,一个字节(8位)数据是在8条并行传输线上同时由源传到目的地;而在串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。由此可见,串行通信的特点如下: 1、节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点。 2、数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。 例如:传送一个字节,并行通信只需要1T的时间,而串行通信至少需要8T的时间。由

力控组态软件怎么和支持modbus协议的设备通信

问题:力控组态软件怎么和支持modbus协议的设备通信 回答:Modbus是应用于电子控制器上的一种通用协议。通过此协议,控制器相互之间、控制器经由网络(例如以太网)或者串口和其它设备之间可以通信。力控科技的开发平台,既可以作为modbus主站从设备采集数据,也可以作为modbus从站将数据转发给其他的modbus 主站,下面以力控作为modbus(rtu串行口)主站为例讲解 1、力控作为modbus主站访问其他modbus从站的方法概括来讲可以分为两个步骤: (1)、进入io设备组态,找到modbus(rtu串行口),组设备 结合现场情况填写以上参数,设备地址和实际连接设备的地址一致。 (2)、串口配置

(3)、采集配置 (1)写单个寄存器:HR保持寄存器单寄存的写入操作,一般设备支持这个命令。一条命令只能写一个寄存器。简单的数据类型可以用这条命令支持,如8位、16位的数据类型可以用此命令写入。 (2)写多个寄存器:HR保持寄存器多寄存器的写入操作,一条命令可以写多个寄存器的值。复杂的数据类型用这条命令支持,如32位,64位的数据类型。 (3)屏蔽写寄存器:HR保持寄存器的模拟量按位操作命令(设备要支持屏蔽写命令22功能码)。 (4)最大长度:是指MODBUS中一条数据所读取的字(两个字节)数,包的长度越长,一次读取的数据就越多,通讯效率就越快。MODBUS协议中规定数据包最大长度不能超过255个字节。另外有些PLC对包长还有限制,请根据具体设备进行填写。 (5)组包间隔:两个相邻采集点的字偏移地址如果大于等于“组包间隔”就重新打一个包。他可以控制包中数据点的密度,如上图配置包中相邻数据的地址间距不会大于10。 (6)05功能码:选中后线圈下置命令用05功能码执行。 (7)15功能码:选中后线圈下置命令用15功能码执行。 2、数据连接 打开数据库组态,选择数据库新建点:

力控dbcomm接口说明

DB接口模块设计 1 DbComm设计 DbComm通讯机制 通讯架构 DbComm为Db通讯组件的核心模块,其他模块实现如DbApi和DbOcx,DbSdk 都是在此核心模块基础上的二次封装,DbComm采用静态库的方式提供。 DbComm和Db进行通讯,分为两种模式: 本地模式:采用窗口消息机制(COPYDATA)与本地DB进行通讯 远程模式:采用TCP方式与远程NetServer进行通讯 同一时刻只能运行于一种模式,本地或者远程 不论本地还是远程模式,处理模块内部都将开辟两个线程: 数据处理线程:负责连接DB,初始化DB,数据包的解析等工作 回调函数线程:负责按照需求进行回调(连接状态变化回调,数据变化回调) 所有调用函数都采用同步机制实现,发送给DB相应的请求以后将等待一个超时时间,如果DB返回数据,调用函数成功,如果超时,调用函数失败。为了防止交换数据过大,网络速率引起的时间延误,DBCOMM在收到正确的数据包后

将刷新超时时间,超时时间按照接收到最后一个正确的数据包计算,但最大时间不超过超时时间的10倍。 数据流程 与DB通讯流程(本地模式和远程模式的差别只是在于通讯链路的区别,通讯机制是相同的) DB初始化:只有DB初始化完成以后,向DB发送各种命令才有意义 当客户端注册数据通知以后,注册的数据点在获取数据时,默认从DbComm 的内部缓存中读取数据(也可以强制从DB读取数据),以加快数据的获取速度对于注册点,内部采用计数机制,每一个数据点内部都有一个计数器,代表这个数据点的注册次数,注销的时候只有在计数为0时,才真正注销计数。典型的应用为,有A、B两任务,A任务使用Tag1-10,10个点的数据,B任务使用Tag5-15,10个点的数据,两任务有5个点的交叉,这样一个任务不用去分辨那些点和其他任务交叉,主需要注册10个点即可,在DbComm内部会保存,Tag5-10的注册计数为2,只有调用两次注销函数,才会真正将点从缓存中去掉,这样会

实验七 力控组态软件中外部接口及通信

实验七力控组态软件中外部接口及通信 一、实验目的 1、熟悉力控组态软件中外部接口及通信的主要方法。 2、DDE数据通讯的应用 3、OPC数据通讯的应用 二、实验任务 1、1、以三级液位系统为对象,在监控软件中添加相应的DDE数据通讯功能; 2、实现力控与EXCEL的DDE双向数据通讯; 3、利用OPC实现力控与宇电AI808仪表系列的OPC服务器的之间的数据通 讯; 4、利用SQL函数实现力控与Access数据库之间的数据交换。 三、预习及实验要求 1、参考教材及力控组态软件随机帮助文件及FAQ文件,预习相关内容; 2、分别举例实现力控与EXCEL的DDE双向数据通讯; 3、利用OPC实现力控与宇电AI808仪表系列的OPC服务器的之间的数据通 讯; 4、利用SQL函数实现力控与Access数据库之间的数据交换。 四、主要参考实验步骤 1、DDE数据通讯。 1)力控数据库作为DDE服务器 力控数据库作为DDE服务器设置如下: 服务(SERVICE)名称:为“DB”; 话题(TOPIC)名称:为“DB” ; DDE项目(ITEM)名称:为数据库中的点参数名,如“TAG1.PV”和“TAG1.DESC”。 示例: EXCEL作为客户端: EXCEL作为第三方DDE客户程序如何将力控数据库作为DDE服务器进行数据交换过 程如下: (1)、在力控数据库中创建一个模拟I/O点TAG1。 (2)、启动力控数据库。

(3)、用EXCEL 程序打开一个工作薄,在工作单的2个单元格内分别输入以 下内容: “=DB|DB !TAG1.PV”和“=DB|DB !TAG1.DESC VB 应用程序作为客户端: 操作步骤如下: (1).用VB 新建工程项目,将窗体命名为DDEClient 在窗体中绘制四个标签,分别为Label1、Label2 Label3、Label4 在窗体中绘制四个文本,分别为Text1、Text2 Text3、Text 4 (2).标签不需要做任何设置,文本框的属性设置如下(例Text1): 力控的应用程序名为DB,话题名为DB,数据连接项为数据库变量名。 LinkItem :a1.PV (数据库变量名)。 LinkMode :0,1,2,3。 LinkTopic :DB|DB 。 (注:LinkMode 初始为0,当力控已启动可设置为1) Text2、Text3、Text4的LinkItem 的分别为a2.PV 、a3.PV 、a4.PV ,其它设置和Text1一样。 (3).在Form_Load()中编写如下脚本程序: 将各个文本设置为自动连接方式,运行时应先启动力控,否则报错。 (4).力控中的组态:在DB 数据库组态中建立四个数据库点,分别为a1、a2、a3和a4(与VB 中文本LinkItem 的属性值一致)。 (5).先运行力控,再启动VB 程序, 2)、力控数据库作为DDE 客户程序 示例: EXCEL 作为DDE 服务器: 首先在数据库中创建一个模拟I/O 点FI101,FI101的PV 参数为实型,FI101的DESC 参 数为字符型。FI101.PV 和FI101.DESC 通过DDE 方式分别连接到EXCEL 工作薄BOOK1.XLS 的 工

关于用力控与多方设备通讯的实例

关于用力控与多方设备通讯的实例 何亮 在自动化不断完善和发展的今天,系统与其他各厂家设备的通讯越来越多,下面我用作过的一个工程项目为例,简单说明用力控与多方设备通讯的例子; 一、网络说明 ①网络结构图 各分部说明: 1、励磁柜、综合柜部分; 格磨机励磁柜(主要采集格磨机励磁电流、电压、功率因数);2、格磨机综合柜(采集格磨机温度);溢磨机励磁柜(主要采集溢磨机励磁电流、电压、功率因数);2、溢磨机综合柜(采集溢磨机温度); 以上四面柜子的数据通过一个MOXA卡(CI-134I)传到OP50操作站。然后再由OP50操作站通过OPC协议传到OP51操作站。 2、西门子部分; 分为磨选、破碎、脱水、加药机四个部分,其中磨选为西门子主站S7-300;破碎、脱水分别为远程I/O(用ET200M实现);加药机为独立的S7-200系统,通过加EM277走Profibus 与S7-300实现通讯。最后再由S7-300CPU通过交换机将西门子数据上传到OP50、OP51操作站。 3、与美国电控(电力监控)部分; 该部分通过交换机走MODBUS TCP/IP协议将数据传到OP50、OP51操作站。

4、ACCESS数据服务 OP51操作站做为ACCESS数据服务器,选厂办公电脑通过网络访问OP51操作站的ACCESS 数据服务器,来获得数据。 二、通讯说明 ⑴励磁柜及综合柜 需要硬件 1>CI-134I MOXA卡(因为是四面柜子分别通讯,考虑到稳定性所以采用一个四口MOXA卡) 2>9针转6端子转接头 实施方法: 1、与综合柜的通讯 首先将MOXA卡安装好,并成功生成4个新COM口(3、4、5、6)。 ①、硬件的连接: 首先用双绞线将综合柜的SWP-LCD-M巡检仪的通讯端子5、6与MOXA卡的“9针转6端子转接头”接好线。 ②、软件的设置 首先在SWP-LCD-M巡检仪查看RS-485通讯的各项参数,经检查得知波特率为9600,地址为1,无奇偶效验。 1>然后到力控软件的上面做如下软件设置 Ⅰ硬件设备的添加; 首先双击“I/O设备组态”,弹出“IoManager”窗口,然后打开“智能仪表”内的“昌辉”一栏,再找到“WP新式LCD十六路巡检控制仪”,如图

IO模块与力控通讯教程

目录 第1章485设备与力控通讯 (3) 1.1DI/DO/AI接入 (3) 1.1.1添加设备 (4) 1.1.2测试设备 (7) 1.2读取DI状态 (8) 1.3输出/读取DO状态 (9) 1.4读取AI值 (11) 第2章以太网设备与力控通讯 (12) 2.1DI/DO接入 (12) 2.1.1添加设备 (12) 2.1.2测试设备 (15) 2.2读取DI状态 (16) 2.3输出/读取DO状态 (17) 2.4AI模拟量采集接入 (19) 2.4.1添加设备 (19) 2.4.2测试设备 (21) 2.5AI模拟量采集值: (22) 第3章级联485设备与力控通讯 (24) 3.1DI/DO/AI接入 (24) 3.1.1设备添加 (24) 3.2读取DI状态 (26)

3.3输出/读取DO (27) 3.4读取AI值 (29)

第1章485设备与力控通讯 1.1DI/DO/AI接入 以A2-SMD4440-AE1为例,介绍康耐德485设备与力组态软件进行通讯的步骤设置。A2-SMD4440-AE1是4路数字量输入(DI),4路数字量输出(DO),4路模拟量输入设备(AI,0~20mA),485通信总线。 A2-SMD4440-AE1通讯参数如下: 站号:01 波特率:9600 数据格式:N81 与电脑连接端口:COM4

1.1.1添加设备 选择:IO设备组态>[PLC]>[莫迪康]>[ModbusRTU]如下图所示:

为设备取一个名称,在此输入TEST,单击“下一步”,如下图所示。 为设备选择连接串口,选择COM4,根据实际对应COM参数设置,并保存

力控与sql server 2008 的交互

雪迪龙客户问题处理小结 1力控与sql server 2008 的交互 这次处理问题于关系数据库的交互,主要通过的是cems后台组件的存储和cens前台报表进行查询。 (1)后台存储时需要进行关系数据库链接,建议大家选择微软自带的驱动去连接,如下图

这里需要注意的是,一定要注意数据库的选择(因为后面利用sql函数交互时也会遇到和哪个数据库连接) 我这次只是通过后台组件去生成分钟表,并没有再去生成小时表(因为上次往sqlserver2000记录小时表时发生存不进去的情况) 此外,通过咱们cems后台组件去数据库建表是大家一个很好的选择,每次在设置好字段后,只要一点确定,这时你就可以发现数据库里面已经有一个空表了。 (2)前台组件的查询 进入报表模板设计器后,一定要选中之前配置的链接,如下图

建立明细网格中生成字符串连接和sql语句并进行测试 2如何在sql server2008(2005相同)建立作业调度 此次处理问题过程中,涉及到要存储整半小时的统计数据的问题,此类问题目前是无法通过cems后台组件来实现的,但可以通过sqlserver中建立作业调度来实现,具体方法如下:1首先用后台组件把需要的数据表建立起来 2新建作业调度:如下图 在常规中输入作业的名称。

数据库选择要执行作业调度的数据库,命令写入要执行的作业 以下是我写的一段代码: declare @daytime as datetime; 声明一个时间类型的局部变量; declare @hftime as datetime; 声明一个时间类型的局部变量;

set @daytime= getdate(); 获取当前的时间赋给第一个局部变量; set @hftime=DateAdd(n,-30,getdate()); 把当前时间-30分钟赋给第二个局部变量 Insert into HalfhourreportA ( SO2_Averagevalue,SO2_ELV_Currentvalue,DUST_Averagevalue,DUST_ELV_Currentvalue,O 2_measured_Averagevalue,O2_standard_Averagevalue,Temperature_Averagevalue,Moisture_Ave ragevalue,P_gas_Averagevalue,P_barometric_Averagevalue,Flow_Averagevalue,Date_Time) select avg(SO2_Averagevalue),avg(SO2_ELV_Currentvalue),avg(DUST_Averagevalue),avg(DUST_EL V_Currentvalue),avg(O2_measured_Averagevalue),avg(O2_standard_Averagevalue),avg(Temper ature_Averagevalue),avg(Moisture_Averagevalue),avg(P_gas_Averagevalue),avg(P_barometric_A veragevalue),avg(Flow_Averagevalue) ,@daytime from oneminA where Date_Time>=@hftime and Date_Time<@daytime 代码的第一部分是要插入的新表以及新表中的相关字段(蓝色) 代码的第二部分是要提取数据的表以及它里面需要做平均值处理的字段(绿色) 这注意一下绿色部分的最后一个字段@daytime 这是一个存入时间的字段 还有一点是需要提醒一下的,就是sql server 对于空值是不进行统计的。 3如何把数据库按不同的值的范围进行分组 一般用到分组我们会首先想到sql语句中的group by 语句,但该语句是用于统计值max min avg等得统计。此次客户要求得是根据污染物的标定值进行分区,即把标定值的两倍分成二十个区,如果数据库的测量值落在某一个区内,就记下一个次数。 请看如下代码: begintime=inttostr(#DateTime.Year,10)+"-"+inttostr(#DateTime.Month,10)+"-"+inttostr(#DateTi me.Day,10)+"00:00:00"; endtime=inttostr(#DateTime.Year,10)+"-"+inttostr(#DateTime.Month,10)+"-"+inttostr(#DateTime .Day,10)+" 23:59:59"; SQLSelect(id,"HalfhourreportA","SO2_Averagevalue>=0and SO2_Averagevalue<="+inttostr(SO2_1_ELV.PV/10,10)+"and Date_Time>=' "+begintime+" 'and Date_Time<= ' "+endtime+"'"); SQLRowCount(a01); 这里的关键是使用了sqlselect 函数和sqlrowcount函数 Sqlselect函数相当于打开一个记录集,把表中的记录按照你所限定的条件进行筛选。Sqlrowcount相当于统计当前记录集的的行数(a01),即每打开一个记录集就统计一次行数,这样便可以把所有符合条件的值的个数获取到力控的中间变量中来 这里大家注意一下ado的方法openrecordset,也是起到sqlselect相同的作用。 4其他细节问题处理心得 1要学会通过sqllasterror来排查错误; 2对于环保版前台组件的使用细节需要再熟练; 3每次改变数据源的链接时,都要重新把所有用过该数据源的地方再过一遍。

力控监控组态软件Forcecontrol-V6.0视频教程

力控监控组态软件Forcecontrol-V6.0视频教程 一、力控监控组态软件Forcecontrol 6.0视频教程 -------高清avi格式 https://www.360docs.net/doc/dc1628175.html,/video/IO设备通信.rar https://www.360docs.net/doc/dc1628175.html,/video/产品入门教程.rar https://www.360docs.net/doc/dc1628175.html,/video/实时数据库.rar https://www.360docs.net/doc/dc1628175.html,/video/WINDOWS控件.rar https://www.360docs.net/doc/dc1628175.html,/video/XY曲线.rar https://www.360docs.net/doc/dc1628175.html,/video/报警.rar https://www.360docs.net/doc/dc1628175.html,/video/变量.rar https://www.360docs.net/doc/dc1628175.html,/video/导航器.rar https://www.360docs.net/doc/dc1628175.html,/video/动画处理.rar https://www.360docs.net/doc/dc1628175.html,/video/复合组件.rar https://www.360docs.net/doc/dc1628175.html,/video/后台组件.rar https://www.360docs.net/doc/dc1628175.html,/video/脚本编辑器.rar https://www.360docs.net/doc/dc1628175.html,/video/进程管理.rar https://www.360docs.net/doc/dc1628175.html,/video/趋势曲线.rar https://www.360docs.net/doc/dc1628175.html,/video/事件.rar https://www.360docs.net/doc/dc1628175.html,/video/温控曲线.rar https://www.360docs.net/doc/dc1628175.html,/video/组件DEMO.rar https://www.360docs.net/doc/dc1628175.html,/video/报表.rar https://www.360docs.net/doc/dc1628175.html,/video/安全管理.rar 二、力控监控组态软件Forcecontrol 6.0视频教程(共48个) -------flv格式 1. Forcecontrol-V6.0产品入门教程 https://www.360docs.net/doc/dc1628175.html,/337.flv 2. Forcecontrol-V6.0选型说明 https://www.360docs.net/doc/dc1628175.html,/338.flv 3. Forcecontrol-V6.0实时数据库 https://www.360docs.net/doc/dc1628175.html,/340.flv 4. Forcecontrol-V6.0 IO设备通讯 https://www.360docs.net/doc/dc1628175.html,/341.flv 5. Forcecontrol-V 6.0控制功能 https://www.360docs.net/doc/dc1628175.html,/343.flv 6. Forcecontrol-V6.0与第三方软件通讯1 https://www.360docs.net/doc/dc1628175.html,/345.flv 7. Forcecontrol-V6.0与第三方软件通讯2 https://www.360docs.net/doc/dc1628175.html,/346.flv 8. Forcecontrol-V6.0与第三方软件通讯3 https://www.360docs.net/doc/dc1628175.html,/347.flv

力控与PLC

基于力控与PLC的流量计自动标定系统 崔艳芳 崔艳芳女士,上海理工大学光学与电子信息学院研究生。 关键词:流量计 标定方法 PLC 变频器 组态软件 为提高标定的精确度和标定效率,扩大标定系统适用范围,减少人为因素带来的误差,设计了这套流量计标定系统。本系统以标准表法和容积法为主,秤重法为辅。采用变频调节技术,由PLC、变频器和计算机进行精密控制和调节,实现流量计标定过程的全自动化。 一总体构思 整个系统分标定装置部分与由PLC和计算机构成的控制部分。 1. 标定装置部分 考虑到标准表法高效、准确、鉴定范 围易拓宽的优点,而容积法又有高精确度, 适合标定大流量装置的特点,因此采用这 两种方法为系统的主要标定方法。为使本 套系统适合标定微小口径流量计,还结合 了秤重法。 标定装置设两级标定基准,容积法中 的标准容器为一级基准,标准表法的标准 表为二级基准,容积法可用来标定标准表, 确保二级基准的精确度。

装置根据流量计口径大小分3个台位,每个台位有4个管路,主要用于标准表法标定。 装置中有两组标准容器,用于容积法标定。1号和2号台位合用其中的一组大标准容器组,其结构图如图1所示。 2. 系统控制部分 控制部分的硬件,使用的是三菱公司(Mitsubishi)的变频器FR-A540,以及FX2N系列的PLC、2AD模块和2DA模块。 通过变频器使电动机软起动(电动机可从0~50Hz缓慢起动),减少泵因高速起动引起电流对电网的冲击,消除泵的喘振现象,使流量平稳调节,增强系统的稳定性和可靠性。以PLC作为现场控制器,通过DA模块调节变频器的频率在0~50Hz范围内变化,实现电动机的无级调速;通过AD模块采集压力传感器和被校表(即待标定的流量计)的4~20mA模 拟信号,同时系统中实时数据(包括实 时标定数据和控制标志信号)通过PLC 的I/O节点传送到计算机。 软件使用的是监控组态软件—力 控(ForceControl)和Visual Basic6.0编 程软件。计算机通过监控系统应用程序 进行标定过程的实时监控,标定数据的 采集、处理、保存,查询和打印,实现 人机的交互功能。 控制部分框架如图2所示。 二工作原理 1. 标准表法 通过在一段标定时间内(应设为标定时间足够大,以保证标定精确度),同时采集由被校表和标准表输出的脉冲数,计算出累积流量,从而确定被校表的误差。流量计基本误差为:

相关文档
最新文档