组态王应用开发
文章平均质量分 64
组态王常见问题的解决,通讯调试总结
逍遥子@
如果有些事情只能做一次,那为什么不做到极致。
展开
-
组态王与SqlServer数据库交互总结
组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。一、数据存到SQL数据库1.新建记录体2、创建表格模板(用于创建数据库中的表格)3、打开sqlserver,新建数据库4、创建ODBC数据源选择自己新建的数据库5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格6.使用原创 2022-03-06 17:55:18 · 12924 阅读 · 2 评论 -
组态王日月年报脚本详解
1.日报事件命令语言$Minute0 && $Second0```cShowPicture("后台处理");HidePicture("后台处理");string FileName;FileName=InfoAppDir()+"日报\"+ StrFromReal( \\local\$Year, 0, "f" )+"年"+StrFromReal(\\local\$Month, 0, "f" )+"月"+StrFromReal(\\local\$Day, 0, "f" )+"日"+原创 2021-09-03 14:08:44 · 6413 阅读 · 8 评论 -
组态王查询数据库总结
一、KVADO控件查询数据库数据1.按日期时间查询string whe;whe="日期时间>=#"+\\local\开始日期时间组合+"# and 日期时间<=#"+\\local\结束日期时间组合+"# "+"ORDER BY 日期时间 ASC" ;Trace('whe = %2s', whe);Ctrl0.Where=whe;Ctrl0.FetchData(); Ctrl0.FetchEnd();在这里插入代码片2.按日期查询string whe;whe="日期>原创 2021-09-01 10:09:44 · 12954 阅读 · 4 评论 -
组态王工程运行时间显示
\\local\运行时间1=HTConvertTime(\\local\$Year,\\local\$Month,\\local\$Day,\\local\$Hour,\\local\$Minute,\\local\$Second)+28800-\\local\开始时间;long 时;long 分;long 秒;GetTime(\\local\运行时间1,时,分,秒);\\local\时间1=StrFromInt( 时, 10 )+":"+StrFromInt(分, 10 )+":"+St..原创 2021-08-31 14:42:33 · 3495 阅读 · 0 评论 -
组态王中Modbus字节顺序的调整
组态王通过modbus协议读取设备的浮点数和Long型的整数,有时候会出现数值很大,或者为0的情况,这时候就需要做字节顺序转换。本文重点介绍三种调整Modbus字节顺序的方法。1.建Swap寄存器利用给寄存器swapF0等特殊寄存器赋值来改变读取数据的高低字节排序,以浮点型数据为例,在数据词典中定义swapF变量,通道号为0,数据类型BYTE,只写,采集频率为0,如图1所示。然后将swapF0在画面上输出,对其依次赋值0、1、2、3,观察浮点型变量的值,直到浮点型数据的值显示正确,记录swapF0最原创 2021-08-25 17:28:41 · 10506 阅读 · 5 评论 -
组态王与mobus通讯调试总结
组态王与mobus通讯调试总结1.用Modscan32测试主要测试设备的哪些寄存器有值,正确的数值是多少,打包长度是多少,在安装路径下的Driver文件夹中修改modbusmaster.ini配置文件中设置PackLen的值。使用modscan的时候,要在显示选项中选择一下数据的类型,和设备中的数据类型一致。需要注意的是,当设定的打包长度是60,必须将第一个和最后一个寄存器在组态王里定义出来才能通讯上。2.按照间隔地址方式定义对于LONG或FLOAT型的双字的数据,按照间隔地址方式定义,因原创 2021-08-13 14:59:59 · 9426 阅读 · 0 评论 -
组态王的日历时间控件脚本
日期时间控件中的脚本中在小于10的月份和天数前必须要加上0,这是由首字符对比机制规定的,首字母相同,就不再不做对比了,比如1和11,是一样的。首字母不同,再比较下一位。float Ayear1;float Amonth1;float Aday1;string temp1;Ayear1=sd.Year;Amonth1=sd.Month;Aday1=sd.Day;temp1=StrFromInt( Ayear1, 10 );if(Amonth1<10)temp1=temp1+"-0"+原创 2021-08-11 10:56:08 · 4827 阅读 · 0 评论 -
Modbus协议介绍及解析
Modbus协议介绍及解析1.Modbus简介Modbus是一种广泛应用于工业控制领域串行通信协议,以其开放性、高可靠性、高效简单性、免费等优点,成为了工业领域通信协议的业界标准,是工业现场电子设备之间常用的连接方式。Modbus按其格式可分为Modbus-RTU,Modbus-ASCII,Modbus-TCP,其中前两者适用于串行通信控制网络中,例如RS485,RS232等,而Modbus-TCP主要应用于基于以太网TCP/IP通信的控制网络中。通过此协议,控制器相互之间、或控制器和其它设备之间进行通原创 2021-08-05 17:06:25 · 14319 阅读 · 5 评论 -
组态王与Modbus协议的地址对应规则
组态王与Modbus协议的地址对应规则Modbus数据帧都是16进制的,而组态王中的寄存器地址是10进制的,因此需要对数据帧中的地址位做一个从16进制到10进制的转换,1004对应的就4100,前面再加上功能码对应的寄存器,从而构成变量的寄存器地址。下面以成都乔存的一款比例放大器为例,使用ModbusRTU协议与组态王通讯。1.读心跳时间,数据帧如下:主机发送 03 03 00 04 00 01 C4 9从机回复 03 03 02 03 EB C1 3A下面对数据帧进行原创 2021-08-04 13:37:42 · 9005 阅读 · 0 评论 -
组态王与DLT645-2007电能表通讯调试总结
组态王与电力协议DLT 645-2007调试总结DLT 645-2007是多功能电能表通信协议,该标准由中国电力企业联合会2006年提出,该协议为主-从结构的半双工通信方式。手持单元或其它数据终端为主站,多功能电能表为从站。每个多功能电能表均有各自的地址编码。通信链路的建立与解除均由主站发出的信息帧来控制。帧是传送信息的基本单元,每帧由帧起始符、从站地址域、控制码、数据域长度、数据域、帧信息纵向校验码及帧结束符7个域组成,每部分由若干字节组成,帧格式如图1所示。1.确定设备地址地址域由 6 个字节构原创 2021-07-14 13:48:57 · 9844 阅读 · 1 评论