当前位置:文档之家› 111如何用组态王进行模拟量采集

111如何用组态王进行模拟量采集

111如何用组态王进行模拟量采集
111如何用组态王进行模拟量采集

如何使用组态王进行模拟量采集

组态王是工程上比较常用的几个组态软件之一,今天给大分享一

下如何使用组态王通过modbus通讯来采集模拟量数据。

首先选择带有modbusRTU通讯的采集模块,通过模块自带的产品软件,根据需要设置模块通讯参数及各个采集通道的量程。

采集模块具有多种量程可选,根据不同的传感器型号可以选择相应的量程。值得注意的是,当选择采集电压信号时,要将产品包装打开,将对应通道的跳线帽断开,否则采集值会有误差,电流型的信号则不需要此操作。

在组态王中新建一个工程,在设备组态中新建一个设备,右侧选项中设备驱动选项中选择PLC,选择其中的莫迪康下拉选项中的ModbusRTU 。

点击下一步,按照设置的模块属性配置相应的内容。创建完成后,就

圆圈中黄色的为跳线帽

会出现配置好的设备。

同时,也需要对组态软件的com口进行配置,要与所选模块的参数相对应,否则会无法通讯。

接下来在数据库组态中的数据词典中,添加8个变量,分别对应采集模块的8个采集通道。参照模块使用说明书中的寄存器地址,以及设

置好的量程,使各个变量与相应的通道对应起来。

按照需要设置变量名,变量类型选择I/O实型,最小原始值0,最大原始值65535,最小最大值分别填所选通道的量程,如果选择

0~10V,Z则填最小值0,最大值10。

设备连接选择添加的模块,按照对应的地址表填写寄存器,数据类型选择USHORT,其他选择默认。如果数据要进行报警和记录,在相应的区域进行设置。

接下来在窗口组态界面新建一个窗口,在窗口中添加文本显示控件,将每个控件分别对应创建好的每路采集数据的变量,按照需要设置显示小数位及格式。

将采集模块通过com1与电脑相连接,运行组态程序,在模块上输入相应的电压电流信号,就能在屏幕上显示输出,此时就已经完成一个简单的数据采集系统了。

组态王曲线数据采集

组态王曲线数据采集 1定义变量 选中工程浏览器左侧数据库\数据词典,在右侧双击新建定义以下变量: 2新建模板和记录体 2.4新建模板 1.选中工程浏览器左侧SQL访问管理器\表格模板。在右侧双击“新建”,建立模板。 2.输入模板名:muban2 字段名称:数据1 变量类型:浮点型 3.点击增加字段,即将字段“数据1”加入到模板中。以同样的变量类型依次将字段 “数据2”到“数据30”加入到模板中最后点击“确认”。如图1: 图1 2.5新建记录体 1.选中工程浏览器左侧SQL访问管理器\记录体。在右侧双击“新建”,建立记录体。 输入记录体名:jiluti3

字段名称:数据1 2.点击图2中“?”按钮关联变量“数据1”,点击增加字段即将数据1加入到“jiluti3” 中。依次将“数据2”到“数据30”增加到“jiluti3”中最后点击“确认”。 图2 3命令语言 3.4应用程序命令语言 在工程浏览器左侧命令语言\应用程序命令语言\启动时增加如下语句: SQLCreateTable( DeviceID, "quxian", "muban2" ); 3.5数据改变命令语言 在工程浏览器左侧命令语言\数据改变命令语言\启动时输入如图3语句,通过点击图中“?”按钮选择关联变量“采集次数”。即当变量“采集次数”值改变时执行命令语言。 图3

3.6事件命令语言 1.选中工程浏览器左侧命令语言\事件命令语言新建命令语言在存在时输入如图4 语句: 图4 a)事件描述:(\\本站点\采集间隔= =0.5)&&(\\本站点\计数标志= =1) b)注意图4中语句执行频率是500毫秒 语句一直要写到:if(\\本站点\采集次数1= =30) \\本站点\数据30=\\本站点\a; 2.在命令语言\事件命令语言\存在时输入语句: SQLInsert( DeviceID, "quxian", "jiluti3" ); 3.如图5创建另一个事件命令语言,“存在时”和“消失时”语句内容同第1步。 图5 区别在于: a)事件描述:(\\本站点\采集间隔= =1)&&(\\本站点\计数标志= =1) b)注意图5中语句执行频率是1000毫秒

模拟量无线采集方案

1、4-20mA和0-5V是目前工业传感器使用最多的两种输出信号,所以有了模拟量采集卡,多通道模拟量采集卡可以汇总工厂、农业大棚、污染河流、气候环境等所有传感器,利于实现传感器的统一管理和分析,但是问题来了: (1)现场传感器数量多,分布区域广,走有线太麻烦; (2)现场监控费人力,很不灵活; (3)不能兼容PC、手机、平板等多设备监控; 2、物联网的到来彻底解决了这些问题。 (1)由于物联网的蓬勃发展,无线解决方案成本已经降至传感器本身价格的5%,在传感器上嵌入无线模块已经成为大传感器制造商新产品首要要求; (2)无线模块有局域网类的433、ZigBee、蓝牙等,想连接外网的话也有做GPRS、WiFi或者网口的,根据实际使用情况选择,比方说食品厂需要实现多条生产线蒸汽压力的监测,可以给每个传感器集成ZigBee通讯模块,短距离无线组网再通过GPRS中继器连接到外网; (3)很多人倾向简单的连接方式,觉得组网什么的讲究太多,维护困难,也可

以使用GPRS模块直接配套传感器,安装简单,可以直接用带GPRS功能的采集卡,专业名称叫GPRS RTU; (4)现在人人都在说互联网思维,都在想以互联网思维改革传统行业,那是否有以互联网思维做GPRS无线采集器的呢,价格是否可以做到传感器用户可以接受的范围呢,189元怎么样! ——TLINK推出的GPRS RTU采用24bitAD芯片、工业级GPRS无线设计方案开发的三路4-20mA/0-5V输入GPRS无线传输工业级物联网网关,极客价189元—— 3、所有联网设备都需要平台支持,手机、平板、智能手表等都有强大的服务器平台支持,那我们的传感器联网之后需不需要呢,当然需要,因为所有移动终端的IP地址都是动态分配的,也就是说把一个GPRS传感器安装在监控现场你在互联网上是根本找不到它的,但是GPRS传感可以找到服务器平台(拥有公网固定IP地址),所以平台在这中间起到了最重要的连接桥梁作用,当然平台还可以提升传感器的使用体验、功能完善以及价值最大化。 4、既然是互联网思维,那按照互联网思维网络平台服务就应该是免费的开放的,

线性光耦原理与电路设计,4-20mA模拟量隔离模块,PLC采集应用

1. 线形光耦介绍 光隔离是一种很常用的信号隔离形式。常用光耦器件及其外围电路组成。由于光耦电路简单,在数字隔离电路或数据传输电路中常常用到,如UART协议的20mA电流环。对于模拟信号,光耦因为输入输出的线形较差,并且随温度变化较大,限制了其在模拟信号隔离的应用。 对于高频交流模拟信号,变压器隔离是最常见的选择,但对于支流信号却不适用。一些厂家提供隔离放大器作为模拟信号隔离的解决方案,如ADI的AD202,能够提供从直流到几K的频率内提供0.025%的线性度,但这种隔离器件内部先进行电压-频率转换,对产生的交流信号进行变压器隔离,然后进行频率-电压转换得到隔离效果。集成的隔离放大器内部电路复杂,体积大,成本高,不适合大规模应用。 模拟信号隔离的一个比较好的选择是使用线形光耦。线性光耦的隔离原理与普通光耦没有差别,只是将普通光耦的单发单收模式稍加改变,增加一个用于反馈的光接受电路用于反馈。这样,虽然两个光接受电路都是非线性的,但两个光接受电路的非线性特性都是一样的,这样,就可以通过反馈通路的非线性来抵消直通通路的非线性,从而达到实现线性隔离的目的。 市场上的线性光耦有几中可选择的芯片,如Agilent公司的HCNR200/201,TI子公司TOAS的TIL300,CLARE的LOC111等。这里以HCNR200/201为例介绍2. 芯片介绍与原理说明 HCNR200/201的内部框图如下所示 其中1、2引作为隔离信号的输入,3、4引脚用于反馈,5、6引脚用于输出。 1、2引脚之间的电流记作IF,3、4引脚之间和5、6引脚之间的电流分别记作IPD1和IPD2。输入信号经过电压-电流转化,电压的变化体现在电流IF上,IPD1和IPD2基本与IF成线性关系,线性系数分别记为K1和 K2,即 K1与K2一般很小(HCNR200是0.50%),并且随温度变化较大(HCNR200的变化范围在0.25%到0.75%之间),但芯片的设计使得 K1和K2相等。在后面可以看到,在合理的外围电路设计中,真正影响输出/输入比值的是二者的比值K3,线性光耦正利用这种特性才能达到满意的线性度的。

组态王常用地函数(新颖)

1.ReportSetHistData2 此函数为报表专用函数。查询历史数据,系统会自动弹出历史数据查询对话框。语法使用格式如下: ReportSetHistData2(StartRow,StartCol); 参数说明: StartRow:查询的数据在报表中填充的起始行数。 StartCol:查询的数据在报表中填充的起始列数。 2.Ack 此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它 将产生确认报警事件。调用格式: Ack(报警组名);或 Ack(变量名); 例如: Ack(全厂);或 Ack(反应罐液位); 3. Average 此函数为对指定的多个变量求平均值。语法格式使用如下: Average(’a1’,’a2’); 或 Average('a1:a10'); a1、a2……为整型或实型变量。其中参数个数为 1-32 个。 当对报表的指定单元格区域内的单元格进行求平均值运算时,结果 显示在当前单元格内,语法格式使用如下: Average(’a1’,‘a2‘); 例如:=Average(‘a1’,‘b2’,‘r10’)任意单元格选择求平均值 =Average(‘b1:b10’);连续的单元格求平均值。 4.ChangePassword 此函数显示“更改口令”对话框,允许登录工程人员更改他们的口 令。使用格式: ChangePassword(); 例如: 为画面上某一按钮设置命令语言连接: ChangePassword( ); 运行时单击此按钮,弹出对话框:

提示工程人员输入当前的口令和新口令以及验证新口令。完全正确后,工程人员的口令设置为新值。 5.FileDelete 此函数删除不需要或不想要的文件。调用格式:FileDelete(Filename); 参数描述 Filename 要删除的文件名。 若找到要删除的文件,并成功地删除,此函数将返回 1,否 则此函数返回 0。 例如: Status=FileDelete("C:\DATA.TXT"); 若在 C:\找到 "DATA.TXT" 则Status 等于 1, 未找到该文件 则为 0。 6.GetDate 此函数将以秒为单位的长整型数转换为相应的日期数值,分别以年、 月、日等的日期数值输出。该长整型秒数的基准为 UTC(格林尼治) 时间 1970 年 1 月 1 日 00:00:00。转换完成输出的日期也为 UTC(格 林尼治)日期。 语法使用格式 GetDate(DateTime,Year,Month,Day); 参数描述 DateTime:需要进行日期转换的数,整型,为输入参数 Year:年,整型或实型,转换后得到的数据,输出参数 Month:月,整型或实型,转换后得到的数据,输出参数 Day:日,整型或实型,转换后得到的数据,输出参数 例如: 自UTC(格林尼治)时间1970年1月1日00:00:00到2003年 8 月8 日0:8:9 的秒的数值为 1060301289,使用 GetDate()函 数可以从这个数值中分离出所表示的日期——年、月、日。 函数 GetDate(1060301289,年,月,日); 执行后,得到的“年” 的值为 2003,“月”的值为 8,“日”的值为 8。 获得其中时间的函数为 GetTime()。 7.HidePicture 此函数用于隐藏正在显示的画面,但并不将其从内存中删除。调用 格式: HidePicture("画面名"); 例如: HidePicture("反应车间");

组态王教学-趋势曲线

趋势曲线 常见问题解答 北京亚控科技发展有限公司 2010年01月

目录 1. 实时趋势曲线 (1) 1.1 我发现组态王的实时曲线控件只能显示百分比量程,请问能否显示工程的实际量程呢? (1) 1.2 使用组态王实时趋势曲线控件时,控件属性设置没有问题,但为何看不到曲线? (1) 1.3 在组态王画面上添加一实时趋势曲线控件,如何修改控件的背景颜色? (1) 2. 历史趋势曲线 (1) 2.1 在组态王的历史趋势曲线中看不到曲线为何? (1) 2.2 使用组态王的历史趋势曲线控件时,如何实现自动更新控件右侧时间为系统的当前时间? (1) 2.3 使用组态王历史趋势曲线控件查询时,在查询不存在的历史数据时,组态王是如何处理的? (2) 2.4 在历史趋势曲线控件中增加变量时,为何无法选择变量? (2) 2.5 使用组态王提供的历史趋势曲线控件读取数据库中的数据为何显示不出曲线? (2) 2.6 使用组态王历史趋势曲线控件,查询出来的趋势曲线比实际的历史数据要提前8个小时? (2) 2.7 在组态王运行环境中,能否改变历史趋势曲线控件连接的曲线? (3) 2.8 组态王提供的历史曲线控件中曲线形式能否画成阶梯式的而不是斜线式的? (3) 2.9 通过组态王提供的历史趋势曲线控件查询Access数据库中的数据,"时间字段"的下拉框中为何没有任何选项? (3) 2.10 我想通过指定一个变量的名称来删除历史曲线控件中此变量对应的曲线,在组态王中应如何实现? (3) 2.11 我有100多个设备,每个设备有10几个参数,我想通过改变设备号,在一个历史趋势曲线里查询不同设备的各个参数的历史曲线? (3) 2.12 使用组态王的历史趋势曲线控件时,选择变量时能否显示变量描述? (4) 2.13 使用组态王的历史趋势曲线控件时,怎样对曲线进行删除操作? (4)

组态王 常用函数

SetRealDBForFloat bool int 此函数用于生成实型变量的操作事件。除按钮命令语言外,在组态王命令语言中修改变量的值可以生成操作事件。 调用形式: SetRealDBForFloat("VarName",Value): VarName 为变量名,Value 为变量值 例如: 在画面“显示时”命令语言中输入: SetRealDBForFloat ("\\本站点\液位",1.5) 设置实型变量“\\本站点\液位”的值为1.5。 画面显示时,生成实型变量\\本站点\液位的操作事件 Sgn 此函数判别一个数值的符号(正、零或负)。调用格式:IntegerResult=Sgn(Number); 北京亚控科技发展有限公司 组态王命令语言函数速查手册 110 参数描述 Number 任一数值或组态王实型或整型变量名。 若数值为正,则返回值为1。数值为负的则返回值为-1,数值为0 则返回0。 例如: Sgn(425);//将返回1 Sgn(0);//将返回0 Sgn(-37.3);//将返回-1 ShowNavigateWindow 此函数用于实现导航窗口的显示与隐藏。调用格式:ShowNavigateWindow(nCmdShow); 参数描述 nCmdShow:导航窗口的显示与隐藏控制。nCmdShow=0,隐藏导航窗口;nCmdShow=1,显示导航窗口。 例如:显示导航窗口: ShowNavigateWindow(1); StrReplace 此函数替换或改变所提供字符串的指定部分。使用此函数能获取字符串变量并替换字符、单词或短语。调用格式:MessageResult = StrReplace( Text,SearchFor, ReplaceWith, CaseSens, NumToReplace,

基于组态王OPC的数据采集的组态方案设计

基于组态王OPC的数据采集的组态方案设计 【摘要】在开发自动控制系统中,能否准确无误的采集输入数据,完成数据输入,直接制约系统功能的预定实现,同时完成系统的仿真测试是及其重要的一步,通过测试,可以验证系统功能能否达到实际需求,能否满足系统响应的速度,本文就基于组态王OPC的数据采集介绍一种简单有效的方案。 【关键词】组态王;数据采集;OPC;仿真 一、模型OPC服务器设置 先设置模型的OPC服务器,因为OPC技术是基于DCOM基础上的,所以在添加OPC服务器前,必须完成PC机上的DCOM设置。在运行窗口中输入“dcomcnfg”,对Knight.OPC.Server.VC模型OPC Server编辑以下分布式COM配置属性:进入“默认安全机制”属性页进行定义,对“默认访问权限”、“默认启动权限”和“默认配置权限”进行设置,将everyone用户设置为“允许访问”、“允许调用”和“完全控制”。然后选中“OpcEnum”,进行“属性”配置。在“安全性”属性页中选中“使用自定义访问权限”,“使用自定义启动权限”和“使用自定义配置权限”,并分别编辑,把“Everyone”用户设置为允许访问、允许调用和完全控制。然后再“身份标识”属性页中选中“交互式用户”。 针对不通的模型建立不同的工程,并进行数据库组态。 四、基于组态王的过程控制仿真实验流程组态 (一)控制方案组态 1.单回路PID控制控制方案组态 在组态画面中插入通用PID控件,并进行变量连接,在组态王的PID控件中,SP关联数据库中的液位设定,PV关联液位测量值,YOUT关联阀位输出。 2.串级控制组态 该控制回路与变频支路控制回路相同,只是有2个被控变量,主控变量是下水箱液位,副控制变量是支路流量。串级控制包括2个控制器,在画面组态中,需要2个PID控件,在关联变量时,主控制器的输出YOUT是关联到副控制器的SP。另外也需要变频器的初始化控制按钮和变频器状态输出框。 3.仿真实验系统流程组态 下面以二阶系统为例来说明组态的过程。

第六章模拟量输入输出与数据采集卡

第六章模拟量输入输出与数据采集卡 通过本章的学习,使考生掌握D/A,A/D转换的原理和典型芯片,在此基础上了解工业控制计算机常用模板的组成和应用。 要求: (1)了解D/A转换的工作原理和8位,12位D/A转换芯片;D/A转换器与总线的连接和应用方法。 (2)了解A/D转换器的工作原理和指标,熟悉A/D转换的典型芯片和多路转换器,采样保持器的工作原理。 (3)了解数据采集卡的组成和指标及其应用方法,了解工控机配套模板的概况。 一、重点提示 本章重点是D/A,A/D转换器的工作原理,与总线的连接方法。 二、难点提示 本章难点是利用这些芯片和多路开关、采样保持器组成数据采集卡的应用方法。 考核目的:考核学生对微型计算机的模拟通道的构成及工作原理的掌握。 1.数模转换器D/A (1)D/A转换的指标和工作原理 / (2)典型D/A转换器芯片 (3)D/A转换器与总线的连接 2.模数转换器A/D (1)A/D转换器的工作原理(双积分和逐次逼近型A/D转换),A/D转换器主要指标 (2)典型A/D转换器芯片(ADC0809及.12位A/D芯片)的功能和组成,与总线的连接 3.多路开关 (1)数据采集系统对多路开关的要求 (2)几种多路开关芯片 (3)几种多路开关的主要技术参数 4.采样保持器 (1)采样保持器的工作原理 (2)常用的采样保持器芯片 5.数据采集卡的组成及其应用 本章知识结构如下: (一)D/A转换接口 D/A转换器的作用是将二进制的数字量转换为相应的模拟量。D/A转换器的主要部件是电阻开关网络,其主要网络形式有权电阻网络和R-2R梯形电阻网络。 集成D/A芯片类型很多,按生产工艺分有双极型、MOS型等;按字长分有8位、10位、

组态王与西门子PLCSIM通信

组态王与西门子PLCSIM通信 组态王与西门子PLCSIM通信 我们做一个简单的通信例子,用组态王的一个可读写模拟量与西门子S7-300PLC进行通信。 为了方便观看效果,我们使用仿真PLC(PLCSIM)与组态王进行通信。 系统:WINXPSP2 组态王: 6.53 STEP7: v5.4 PLCSIM :v5.4 在组态王中新建一个I/O变量,把这个I/0变量的连接设备设为PLC中的一个变量,这样我们们就可以通过组态王来观察PLC中的某个变量的变化情况,并可以在组态王中更改PLC的变量。 我们在组态王中放置一个文本变量,用这个变量来控制PLC的DB1.DBD0的数值。 1.设置硬件连接驱动 打开组态王,新建一个工程,打开工程流览器单击设备>>新建 选择PLC>>西门子>>S7-300/400(MPI)>>Prodave6IE 选择下一步>>输入设备名称为Prodave6IE>>下一步>>选择COM1 连接地址格式 A.B.C (A为PLC的MPI地址,B为CPU所在机架号,C为PLC的CPU所在的插槽号) 我们在PLC硬件组态里面设MPI地址为2,CPU所在的机架为0,CPU所在的插槽号也为2 所以地址应为:2:0:2 点击下一步>>尝试恢复间隔30秒最长恢复时间1

2.在组态王中新建一个I/O变量连接到PLC 打开工程流览器选择数据词典,新建一个变量, 变量名为:模拟读写变量(wendu01) 变量类型:(I/O实型) 连接设备:Prodave6IE(第1步建好的设备) 寄存器:(DB1.0) 数据类型:(REAL)

3在组态王画面中使用: 新建画面,并建立动态连接

组态王常用知识库86

组态王6X系列软件功能简介 目录 第一章组态王软件知识.................................................................... 错误!未定义 书签。 1. 组态王软件产品 (1) 1.1 组态王软件目前发布的产品 (1) 1.2 组态王产品的版本及点数划分 (1) 1.3 客户常会问到的问题 (2) 2. 组态王软件工程组态 (4) 2.1 工程管理 (4) 2.2 图形画面 (4) 2.3 命令语言 (5) 2.4 客户常会问到的问题 (5) 3. 报警和事件 (7) 3.1 组态王报警和事件的记录保存方式 (7) 3.2 组态王产生报警和事件的提示方式 (8) 3.3 客户常会问到的问题 (8) 4. 报表和曲线 (9) 4.1 报表 (9) 4.2 曲线 (9) 4.3 客户常会问到的问题 (9) 5. 控件 (10) 5.1 内置控件 (10) 5.2 第三方控件 (10) 5.3 客户常会问到的问题 (11)

6. 配方 (11) 7. 系统安全管理 (12) 7.1 组态王开发系统安全管理 (12) 7.2 组态王运行系统安全管理 (12) 8. 冗余方式 (12) 9. 组态王网络功能 (12) 10. 组态王的数据存储与展示 (13) 10.1 数据存储 (13) 10.2 数据展示 (13) 10.3 客户常会问到的问题 (14) 11. 组态王WEB功能 (14) 11.1 组态王WEB支持的功能 (14) 11.2 组态王WEB不支持的功能 (15) 11.3 客户常会问到的问题 (16) 12. 组态王与其他应用程序的数据交换 (16) 12.1 OPC方式 (16) 12.2 DDE方式 (17) 12.3 ActiveX控件方式 (17) 12.4 AccessHis接口 (17) 第二章驱动知识 (18) 1. 组态王支持的驱动 (18) 2. PLC (18) 2.1 西门子 (18) 2.2 莫迪康PLC (18) 2.3 OMRON PLC (18) 2.4 三菱PLC (19) 2.5 GE PLC (19) 2.6 AB PLC (19) 3. 智能模块类 (19) 4. 智能仪表类 (19) 5. 变频器类 (19) 6. 板卡类: (20) 7. 标准总线协议 (20) 8. 电力协议驱动类: (20) 9. 其他: (21) 第一章组态王软件知识 1. 组态王软件产品

组态王串级水箱仿真傻瓜教程

组态王串级PID水箱仿真 该教程用串级PID算法实现对水箱液位的控制。 一、建立数据变量 打开组态王6.55,新建一个工程,将其命名为“串级PID”。打开工程,根据所需用到的数据类型、数据范围大小、初始值等建立数据变量(详细数据变量见附件1)。 二、搭建仿真画面 根据实际器件,开关,阀门,曲线图,数据查看等需要,建立仿真画面(详细步骤见附件2)。 三、将画面动画连接到变量 根据仿真时画面的动画要求,设置画面属性和各个器件、曲线图等的动画连接(详见附件2)。 四、编写运行程序 打开工程浏览器,文件-命令语言-应用程序命令语言,双击打开程序编辑窗口,输入程序(详见附件3)。 五、调节PID参数 运行系统。分别调节两种PID算法的PID参数,实现对液位的控制。 1、第一种PID算法 UK0=(KP+KP/KI+KP*KD)*EK0-(KP+2*KP*KD)*EK1+(KP*KD)*EK2+UK1 2、第二种PID算法 UK0=KP*EK0+KI*SUM_EK0+KD*(EK0-EK1)/dt+UK1

附件1: 数据变量 模拟量部分: 变量名变量类型最大值最小值描述 HM 内存实数100 0 水箱目标液位HS 内存实数100 0 水箱实际液位HC 内存实数120 0 储水池液位W 内存实数100 0 调节阀开度LM 内存实数200 0 目标流量 LS 内存实数200 0 实际流量PS 内存实数120 80 水压波动比率G1 内存实数10 0 水管1流量G2 内存实数10 0 水管2流量开关量部分: 变量名变量类型初始值描述 V 内存离散0 水泵开关 V1 内存离散0 阀门1开关 V2 内存离散0 阀门2开关 P 内存离散0 PID控制开关 K 内存离散0 水压波动开关 查看量部分: 变量名变量类型初始值描述

组态王连接Accesss数据库与历史曲线显示

我是依据组态王帮助文件里面的案例,不过我写的会更详细! 以某工业现场应用为例,需要对原料进行称量,并记录原料的生产厂家、原料编号、称量日期、称量时间,值班人员、原料重量。针对这种关系数据,使用组态王的历史库是无法记录的,因此我们使用关系数据库Access 进行记录。下面就以此为例来演示完成这一现场需求的设置步骤。 操作步骤: 1、新建数据库以及表: 1.1)在Access 中新建一个空数据库,例如建立路径为:D:\数据库存储例程\数据.mdb。 1.2)在数据库D:\数据库存储例程\数据.mdb 中创建一个数据表:表的名称为:原料数据。字段为:称量日期、称量时间、原料重量、原料厂家、原料编号、值班人员、datetime(这个变量是我自己需要历史曲线用的)。如下图所示:(下面的值是我测试的) 其中原料重量字段类型为“数字”设置为“单精度”,datetime设置为日期/时间默认值改为now()。其余为“文本”类型。(这里默认的视图是数据表视图,要切换到设计视图,如图所示:)

在这下面设置字段大小为单精度型,小数位数为2(这个按自己需求设置位数)。 2、设置ODBC 数据源: 2.1) 在“控制面板”-----“管理工具”----“ODBC 数据源” 中建立ODBC 数据源,点击“ODBC数据源”弹出“ODBC 数据源管理器”,如下图所示:(这里注意的是如果系统是64位系统的话,则打开C:\Windows\SysWOW64\odbcad32.exe)

2.2) 在“用户DSN”中点击“添加”,弹出“选择数据源驱动程序”窗口,如下图所示:选择“Microsoft Access Driver (*.mdb)”驱动,点击“完成”。弹出如图所示窗口,填写ODBC数据源的名称,根据需要对数据源进行命名,如“数据”,点击“选择(S)”,如图所示,选择我们前面定义的数据库文件“D:\数据库存储例程\数据.mdb”。点击“确定”完成ODBC 数据源的定义,如图所示。其他数据库如SQLServer 的ODBC 定义请参考相关文档。

组态王常用的函数

1.R e p o r t S e t H i s t D a t a 2 此函数为报表专用函数。查询历史数据,系统会自动弹出历史数据查询对话框。语法使用格式如下: ReportSetHistData2(StartRow,StartCol); 参数说明: StartRow:查询的数据在报表中填充的起始行数。 StartCol:查询的数据在报表中填充的起始列数。 2.Ack 此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它 将产生确认报警事件。调用格式: Ack(报警组名);或Ack(变量名); 例如: Ack(全厂);或Ack(反应罐液位); 3.Average 此函数为对指定的多个变量求平均值。语法格式使用如下: Average(’a1’,’a2’);或Average('a1:a10'); a1、a2……为整型或实型变量。其中参数个数为1-32个。 当对报表的指定单元格区域内的单元格进行求平均值运算时,结果 显示在当前单元格内,语法格式使用如下:Average(’a1’,‘a2‘); 例如:=Average(‘a1’,‘b2’,‘r10’)任意单元格选择求平均值 =Average(‘b1:b10’);连续的单元格求平均值。 4.ChangePassword 此函数显示“更改口令”对话框,允许登录工程人员更改他们的口 令。使用格式: ChangePassword(); 例如: 为画面上某一按钮设置命令语言连接: ChangePassword(); 运行时单击此按钮,弹出对话框: 提示工程人员输入当前的口令和新口令以及验证新口令。完全正确后,工程人员的口令设置为新值。 5.FileDelete 此函数删除不需要或不想要的文件。调用格式:FileDelete(Filename); 参数描述 Filename要删除的文件名。 若找到要删除的文件,并成功地删除,此函数将返回1,否 则此函数返回0。 例如: Status=FileDelete("C:\DATA.TXT"); 若在C:\找到"DATA.TXT"则Status等于1,未找到该文件 则为0。 6.GetDate

模拟量采集实验报告 公昊

模拟量采集的仿真设计报告 姓名:公昊 学号:201000111025 同组者:马振玢

实现功能 设计一个模拟量采集系统,将所采集的直流电压模拟量显示在LED显示器上,并设置报警上限,当电压超过或等于3V时产生报警信号,并在显示器上闪烁显示电压量大小。报警信号可以通过按键消除,再次按下时恢复报警。 设计分析 该设计就是采集模拟量,通过A/D转换,经过数据处理,用LED 显示器显示数值。所谓模拟量,可以是温度、光亮度、声音响度、压力等量度,但经感应器转换后,这些模拟量通通能装换成电子量度,如电阻。所以,为了简单广泛起见,我们统一用电阻所分的电压大小来代表模拟量。最终的输出量,也就是显示在LED显示器上的量,可以是电压,电流,电阻,功率等,这可以根据不同的计算和转化来调整。我们采集多路模拟信号,通过扫描用数码管循环显示采集的信号值,并且显示这是第几个采集量。 程序设计 设计的软件部分由Keil uVision软件编程和Protues软件模拟仿真。软件编程我们用了比较熟悉的C语言。以下介绍我们的编程:

程序流程图 启动0808进行模拟量采集 采集量转换成电压显示格式 判断是否报警(电压大于等于3V 时报警) 外部键盘产生中断,停止报警 初始化中断T0 while (1) 采集四路信号 for (i=0;i<=3;i++) 选择采集通道IN0~IN3 打开0808输出使能,P2口读入存入数组 判断转换是否结束(EOC 标志) 显示四路信号 for (i=0;i<=3;i++) 采集结束 结束 闪烁显示约1秒 持续显示约1秒 大于3V 未结束

#include #include #include #define uchar unsigned char #define uint unsigned int #define addo (5.0/255.0) uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //字符码 uchar ad[4]; uint i,j,flag,k; bit flag1; uint ge[4],shif[4],baif[4],qianf[4],ad1[4]; sbit start=P3^6; //ADC0808工作触发sbit oe=P1^1; //ADC0808输出使能sbit eoc=P3^0; //ADC0808转换结束信号sbit adda=P1^5; //采集信号地址选择 sbit addb=P1^6; sbit addc=P1^7; sbit ale=P1^4; //0808地址锁存 sbit abc=P3^4; //字符码锁存器锁存控制端sbit led1=P3^5; //led片选码锁存器锁存控制端sbit oe1=P1^2; //led片选码锁存器使能sbit speak=P3^3; //蜂鸣器控制 sbit oe2=P3^1; //字符码锁存器使能 //延时1微秒程序 void delay(int t1) { unsigned int i; for(i=0;i

组态王重要功能简单使用介绍

组态王重要功能简单使用介绍 一、图库 1、图形建立动画连接并合成图素的方式创建的图库精灵,在画面中引用后,其属性界面中动画连接属性的变量改变后,可以任意移动它的位置,但不能再调整其大小,否则动画连接属性的变量会变回到原先的变量。为避免误操作,可以把图库精灵转换成普通图素后再定义属性变量。 2、一般情况下,含有图库精灵的画面会有许多操作上的限制。如,为了在画图过程中把常用的图块创建为图库精灵,但图块中的图素要求不能包含引用到的图库精灵。所以在画图过程中引用到的图库精灵应首先转化成普通图素。转化成普通图素后,还可以个性化定义动画,而图库精灵定义动画比较死板。 二、动画制作 1、组态王软件对稍微复杂的动画,如旋转轮、搅拌叶片模拟动作等没有现成的图库引用,都必须自己设计,无论采用图素基本旋转功能还是图素显示与隐藏方式实现视觉上的动画效果,绝大多数情况下都必须使用到内存变量。一般一个动画使用到一个内存变量。当软件点数较少,变量使用较紧张时,就不能为了动画效果而定义大量的内存变量。动画的实现一般要求有重复计数功能的表达式支持,这就要定义专用的内存整型变量(为了使动画更流畅,可以定义内存实型变量,以小于1的阶梯变化),通过命令语言来实现重复计数功能。为了减少变量的使用数,就应对整个组态系统的动画效果进行大的归类,如旋转、移动、闪烁、缩放等,每一类定义一个或多个(尽量少)的内存实型变量。使用方法为:1、在应用程序命令语言中写出变量重复计数的程序,在某一窗口只要引用此变量来实现动画即可; 2、在每个需要动画效果的窗口的画面命令语言中写出变量重复计数的程序。方法1优点是每个变量只要书写一次计数程序,缺点是整个监控系统的同类型的动画效果相同,制作也不灵活。方法2的优点是每个窗口中变量计数的变化量可以不一样,这样使得制作动画更方便灵活,每个窗口动画效果可根据需要灵活实现,缺点是同一个变量要多次书写计数程序。另外必须注意的是:如果同时多个窗口都要实现同类型的动画效果,也就是同一个变量在多个窗口使用。则必须在每个画面命令语言中(显示时)使用关闭画面函数来关闭其它相关窗口,目的为:方法1,避免计算机内存工作量大。方法2,避免变量在不同窗口有不同计数变化量时,产生计数冲突,影响动画效果。 三、命令语言 在监控设计时经常用到的一些命令语言函数。 1、命令语言的句法如控件函数、数学函数等,都可通过"命令语言编辑器"编辑输入。 2、条件语句可以嵌套使用。 3、 HTConverTime(yeat,month,day,hour,minute,second)此函数将指定的时间格式(年,月,日,时,分,秒)转换为以秒为单位的长整型数,转换的时间基准是1969年12月31日24时0分0秒。StrFromTime(SecsSince1_1_70, StringType),此函数将一个时间值(1970年1月1日起,以秒为单位)转换成字符串。例子:显示2005年6月15日第前27天的时间格式。命令语言为:

关于组态王数据库绘制曲线的方式

关于组态王历史曲线的绘制 在作项目中,常常遇到需要查看工程的历史数据图和历史曲线。 在使用组态王的过程中遇到了以下问题。 问题;工程要求要能查找历史数据和查看历史曲线。组态王内置历史曲线可以绘制,但数据不能第三方访问。且历史数据记录不能停止。 要绘制历史曲线,首先要有历史数据,组态王本身有历史数据库。也可使用第三方数据库。 组态王自己的历史数据库不开放(只可用函数语句表另存为),第三方不能访问。 第三方数据库是微软的access数据库或者是SQL sever 数据库等。 在测试access数据时发现。组态王保存的历史数据在绘制历史曲线调用时,有个日期时间格式的数据需要选取。但在数据库里边没有符合这个格式的选项。 经查看发现组态王合成的日期时间格式在access里是字符串(文本)格式,不符合datetime格式。于是手动更改为datetime格式,组态王可以调用历史数据绘制曲线了。但数据又不能插入了。测试失败。 方法1.在SQL several数据库中同时插入两个一摸一样的表格,表格1插入数据,表二在表1插入时同时插入数据并转换数据格式,然后在历史曲线控件里调用。 在表格1调用触发器,然后再插入数据到表格2,同时更改日期时间字符串为datetime格式,直接在组态王历史控件里调用即可。 create trigger myinserta on MODE for insert as declare @a char(15),@b int,@c char(8),@d char(10),@e char(24),@f int,@g int,@h int,@i int,@j int,@k int,@l int,@m char(10); select @a=工件号编码,@b=序号,@c=时间,@d=日期,@e=DATATIME,@f=毫秒,@g=轨顶温度,@h=轨顶温度,@i=轨低温度,@j=轨低温度,@k=喷风温度,@l=喷风压力,@m=用户FROM INSERTED INSERT INTO MODE1 values (@a,@b,@c,@d,@e,@f,@g,@h,@i,@j,@k,@l,@m); 上面第一个触发器定义中间变量和数据长度和格式,定义的格式应当和组态王模板设定的长度和数据类型一致。 下面的触发器在每次插入触发时更改DATATIME列的格式为datetime日期时间格式。 create trigger STTTOTIMEa on MODE --(//记录体名称) ALTER TABLE MODE1 ALTER COLUMN DATATIME datetime; 方法2还是使用SQL several数据库。 在定义组态王模板时定义一个内部空变量,定义类型为long,长整型。随模板一起插入,在组态里,转换DATATIME字符串为datetime日期时间格式,并赋值给定义的长整型(long),在组态历史控件里就可以调用了

4~20mA电流模拟量输入RS485数据采集模块

M-IF16C用户手册V1.1 基于Modbus的16路电流型模拟量输入模块 1 产品简介 M-IF16C(基于Modbus的16路电流型模拟量输入模块)作为通用型模拟量量采集模块广泛应用于冶金、化工、机械、消防、建筑、电力、交通等工业行业中,可接入16路温度、湿度、液位、压力、流量、PH值等传感器输出的0~20mA 或4~20mA模拟量信号。支持标准的Modbus RTU 协议,并具有通讯超时检测功能,可同其它遵循Modbus RTU 协议的设备联合使用。 1.1 系统概述 M-IF16C模块的原理框图如图1.1所示,模块主要由电源电路、模拟量输入采样电路、隔离RS485收发电路及MCU等部分组成。采用高速ARM处理器作为控制单元,拥有隔离的RS485通讯接口,具有ESD、过压、过流保护功能,避免了工业现场信号对模块通讯接口的影响,使通讯稳定可靠。 图1.1 原理框图 1.2 主要技术指标 1)系统参数 供电电压:5~40VDC,电源反接保护 功率消耗:0.5W

工作温度:-10℃~60℃ 存储温度:-40℃~85℃ 相对湿度:5%~95%不结露 2)模拟量输入参数 输入路数:16路单端输入 正常输入范围:0~20mA,4~20mA 最大输入范围:0~21mA 隔离电压:2500VDC 输入电阻:120Ω ADC分辨率:12位 采样精度:0.5% 采样速率:100次/s 3)通讯接口 通讯接口:RS485 接口,隔离1500VDC,±15kV ESD 保护、过流保护 隔离电压:1500V 通讯协议:Modbus RTU 协议 波特率:1.2k,2.4k,4.8k,9.6k,19.2k,38.4k,57.6k,115.2k 通讯数据格式:1个起始位,8个数据位,无、奇或偶校验,1个或2个停止位 1.3 外形及尺寸 外壳材料:ABS工程塑料 尺寸大小:145mm(长) * 90mm(宽) * 40mm(高) 安装方式:标准DIN35导轨安装和螺钉安装 模块外形如图1.2所示,安装尺寸如图1.3所示。

组态王历史趋势曲线控件

组态王历史趋势曲线控件使用 配置参考文档 北京亚控科技发展有限公司 技术部

目录 一、功能概述 .............................................................................................. 错误!未定义书签。 一、功能概述 .............................................................................................. 错误!未定义书签。 二、工程实例 .............................................................................................. 错误!未定义书签。 三、操作步骤: .......................................................................................... 错误!未定义书签。 1、历史趋势曲线控件的特点:..................................................................... 错误!未定义书签。 2、创建新的工程: ........................................................................................ 错误!未定义书签。 定义设备: .............................................................................................. 错误!未定义书签。 定义变量: .............................................................................................. 错误!未定义书签。 创建趋势曲线: ...................................................................................... 错误!未定义书签。 添加曲线变量: ...................................................................................... 错误!未定义书签。 3、切换到运行系统: .................................................................................... 错误!未定义书签。 4、控件的属性、方法:................................................................................. 错误!未定义书签。 控件的属性与方法: .............................................................................. 错误!未定义书签。 属性方法的使用举例: .......................................................................... 错误!未定义书签。 四、注意事项 .............................................................................................. 错误!未定义书签。 图表 图一定义变量压力 .................................................................................... 错误!未定义书签。 图二定义变量流量 .................................................................................... 错误!未定义书签。 图三记录和安全区属性 ............................................................................ 错误!未定义书签。 图四历史趋势曲线 .................................................................................... 错误!未定义书签。 图五历史趋势曲线 .................................................................................... 错误!未定义书签。 图六运行系统 ............................................................................................ 错误!未定义书签。

相关主题
文本预览
相关文档 最新文档