组态王中bit函数案例

合集下载

组态王常用函数.doc

组态王常用函数.doc
StructVarRefAddress(RefStructTagname, RefedStructTagname);
参数说明:
RefStructTagname:7符串型引用的结构变量名称(不带
成员名)
RefedStructTagname:字符串型 被引用的结构变量名称(不
带成员名)
例如:
电力监控系统中,冇多台变压器,有电压、电流、功率等数据。 要求做一幅画面,在不同时刻分别显示各变压器的电压、电流、 功率值。这个可以通过引用变量来完成。
StrReplacef'In From Within,,z,,ln,,;,Out,,,0,l,0);//返回
"Out From Within"(只替换第一个)
StrReplace("ln From Within“,“lnTOut”,OQO);//返
回"Out From Without"(全部替换)
北京亚控科技发展有限公司
所有的空格用吹'代表。
StrTirim("xxxxxThisxisxaxxtestxxxxx",1);//返回"Thisxisxaxxtestxxxxx"
StrTrim("xxxxxThisxisxaxxtestxxxxx",2);//返回
北京亚控科技发展冇限公司
组态干-命令语言函数速杳手册
143
"xxxxxThisxisxaxxtest"
Sgn
此函数判别一个数值的符号(正、零或负)。调用格式:
In tegerResult=Sg n(N umber);
北京亚控科技发展有限公司
组态王命令语言函数速查手册

关于运用i8811的COM1,2,3,4与组态王通信的软件说明

关于运用i8811的COM1,2,3,4与组态王通信的软件说明
#definelsj_MAXBIN125
#definelsj_MAXBOUT50
#definelsj_MAXWIN500
#definelsj_MAXWOUT300
//类型说明*/
#defineUSGIunsigned
typedefunsignedcharBYTE;
typedefintUINT;
typedefintWORD;
/*
本函数用于将开关输入量添写到i8811的数据区中
wID表示该开关量的序号
wVal表示要写的值(0或1)
返回值0: 表示成功 ;
1: 表示不成功 ;
与组态王中变量定义时的寄存器对应关系如下所示
组态王中变量定义时的寄存器
本函数中的参数wID
1x001
1
1x002
2
1x003
3
...
...
*/
int SetWordIn(WORD wID,WORD wVal);
0x008
1
C的第7位(最高位)
0x009
2
C的第0位(最低位)
0x010
2
C的第1位
0x011
2
C的第2位
...
...
...
*/
三. 注意事项
请先安装组态王的驱动程序
在本程序中,整型量和浮点量共用同一个数据区,每个浮点量由2个整型量组成。用户在使用浮点型数据进行通讯时必须注意以下两点:
1.浮点量的序号不能连续(在组态王中定义浮点量的寄存器时也是这样)。例如:1、3、5,或2、4、6
2.浮点量和整型量所用的数据区不能重叠。例如:整型量使用的序号为1、2、3、...、100,则浮点量的序号就可以是101、103、105...

基于组态王的modbus ascii通信测试

基于组态王的modbus ascii通信测试

MODBUS ASCII读写通信帧实例(组态王测试)======================= 实数(float) ====================1、读实数左边为通信传输帧,右边为ASCII码地址最大为FFFF解释3A开头0D 0A结尾表示ascii的回车换行30 31 表示读保持寄存器中间4bit为起始地址30 30 30 30,从0开始对应plc就是40001,由于浮点数占用2个寄存器,所以第二个实数对应plc地址就为40003,否则就会出现数据重叠紧接着的4bit为读取寄存器数量30 30 30 32 ,表示读取两个寄存器的值(对应浮点数)一次最多能够读取125个,对应30 30 37 44即0 0 7 D46 41 表示LRC校验位2、读取实数的反馈下图红色为读取实数的反馈值,在读取功能码(30 33)后面加了一个额外的操作码(30 34),表示读取成功,后面均为数据,紧接着就是校验位,结束位上位机实数值读取数据含义同读取帧,前为写入起始地址,后为写入数量表示写入操作码写入数据表示写入功能码3、写实数上图蓝色为写入实数数据帧,以872.09为例。

Acsii “:”、“01”、“10”分别为帧头、从站地址和写多个保持寄存器的功能码(因为写实数一次要写入2个寄存器)。

紧接着是 写入的起始地址和写入数据的数量(均为2的倍数) 写入数量后加一个操作码 30 34(“04”) 然后才是写入数据,校验位和结束帧。

4、写实数反馈写入成功以后会马上反馈一个成功标志,如下所示。

即将不带数据的写入帧按原样返回,注意04操作码不需要,校验位需要改变。

==========================整数(short )========================= 5、写入单个整数值为1234对应4D2;写入单个整数只有起始地址00006、写单个整数反馈(原样返回)值为123的反馈帧,007B;写负数-239,实际传输数据块为FF11,反馈一样7、读单个整数8、读单个整数的反馈帧反馈值为123, 7B反馈值为-239,FF11。

组态王命令语言函数手册

组态王命令语言函数手册

命令语言函数速查手册 “组态王”支持使用内建的复杂函数,其中包括字符串函数、数学函数、系统函数、控件函数及其他函数,下面依次介绍各个函数(函数名不区分大小写,按字母排序): Abs 此函数用于计算变量值的绝对值,使用格式如下: Abs(数值或变量名); 返回值:整值或实型值; 例如: Abs(14); 返回值为14 Abs(-7.5); 返回值为7.5 Abs(距离); 返回内存模拟变量“距离”的绝对值。

 Ack 此函数常和按钮连接,当发生报警时,用此函数进行报警确认,它将产生确认报警事件。

调用格式: Ack(报警组名); 或 Ack(变量名); 例如: Ack(全厂); 或 Ack(反应罐液位); ActivateApp 此函数用于激活正在运行的窗口应用程序,使之获得输入焦点。

该函数主要用于配合函数SendKeys的使用。

调用形式: ActivateApp(AppName); 参数 描述 AppName 应用程序的执行文件名 例如: 激活Microsoft Word的正确调用为: ActivateApp("Word.exe"); ArcCos 此函数用于计算变量值的反余弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。

调用格式: ArcCos(变量名); 返回值:整值或实型值; 例如: ArcCos(1); 此函数返回值为0 ArcCos(temp); 此函数返回变量“temp”的反余弦值 ArcSin 此函数用于计算变量值的反正弦值, 变量值的取值范围在[-1,1]之间,否则函数返回值无效。

调用格式: ArcSin(变量值); 返回值:整值或实型值; 例如: ArcSin(1); 此函数返回值为90 ArcSin(temp); 此函数返回变量“temp”的反正弦值 ArcTan 此函数用于计算变量值的反正切值, 使用格式为: ArcTan(变量值); 返回值:整值或实型值; 例如: ArcTan(1); 此函数返回值为45 ArcTan (temp); 此函数返回变量“temp”的反正切值 Bit 此函数用以取得一个整型或实型变量某一位的值(0或1)。

组态王短信报警例程说明

组态王短信报警例程说明

组态王短信报警使用参考文档北京亚控科技发展有限公司技术部目录一、功能概述 (4)一、功能概述 (4)二、工程实例 (4)三、操作步骤: (4)1、驱动程序介绍: (4)2、定义变量: (7)2.1) 定义设备: (7)2.2) 定义变量: (7)2.建立画面: (8)3.命令语言: (8)3.1) 自定义函数介绍: (8)3.2) 自定义函数命令语言: (10)4.运行系统: (12)四、注意事项 (13)图表图一报警设置画面 (8)图二自定义函数 (11)图三报警发送短信的自定义函数 (12)图四运行系统 (13)一、功能概述常规需求:很多工业现场要求报警发生后能够通过手机短信通知相关值班人员。

组态王中的实现方法:利用西门子的TC35短信模块,当报警发生后通过此模块发送报警信息。

二、工程实例以某工业现场应用为例,需要对采集的温度的高限报警、低限报警进行报警提示。

三、操作步骤:报警后发送手机短信必须借助于西门子的TC35模块,并且在TC35模块中放一张可以正常发送短信的手机卡。

组态王提供TC35的驱动程序,通过驱动程序控制手机短信的发送。

1、驱动程序介绍:本驱动支持组态王和西门子Siemens T35 Terminal设备之间进行通讯,发送、接收短信息。

组态王定义设备时请选择:智能模块->SIEMENS->TC35 Terminal地址设定:任意定义串口参数:波特率:9600 (19200、38500、可选)数据位:8停止位:1校验方式:无校验(奇校验、偶校验可选)寄存器说明说明:1.MsgNew,MsgNec,MsgNed字符串格式:eg: MsgNew0: <n>2002年9月5日来自xxxxx的消息: n为该短消息序号xxxxx为发送方号码MsgNec0: #####(短消息内容)注意:当短消息大于63个汉字(126个字符)时,组态王中只显示前63个汉字。

MsgNed保存63个之后的信息2.MsgOld,MsgInf字符串格式:eg: MsgOld0:<n>2002年9月5日来自xxxxx的消息: n为该短消息序号xxxxx为发送方号码MsgInf0: #####(短消息内容)注意:当短消息大于63个汉字(126个字符)时,组态王中只显示前63个汉字3.MsgSend,要发送的短消息内容,请不要大于63个汉字(126字符)的短消息,否则,组态王将只发送前63个汉字4.对于只写的参数,只要状态改变一次,就执行一次命令。

组态王与三菱Q系列PLC以太网通讯

组态王与三菱Q系列PLC以太网通讯

组态王与三菱Q系列PLC以太网通讯说明文档北京亚控科技发展有限公司2009年7月目录1. 连接与配置 (1)1.1 三菱编程软件的通讯设置 (1)1.2 配置以太网参数 (7)2. 组态王配置 (9)2.1 定义设备 (9)2.2 连接变量 (10)1. 连接与配置1.1 三菱编程软件的通讯设置1)首先建立一个工程,如下图所示:2)双击“网络参数”。

3)选择“MESECNET/以太网”。

如下图:设置如下图:4)设置“操作设置”项:设置PLC IP。

PLC的IP地址点击结束设置完成。

5)在计算机的网络邻居里指定计算机的IP:PC机的IP地址6)设置“开放设置”项:设置计算机的IP,端口,PLC的端口。

PLC的端口号PC机的IP地址PC机的端口号备注:计算机的端口号最好使用700以后的端口。

查询PC机端口占用情况的DOS命令:Netstat –aNetstat –an7)设置完上述参数以后用串口编程电缆把参数下载的PLC中。

选择在线 --> PLC写入下传PLC程序参数。

同时也可以编写PLC测试程序一同下载到PLC中。

备注:到M0为1时YO为1,M0为0时Y0为0。

如果在下载的过程中提示无法下载请在“在线”,“传输设置”里配置串口通讯参数具体方法:点击“串行USB”。

再点击“CPU模块”。

再点击“不指定其他站”。

最后点击“确认”即可。

这样就可以把配置的参数下载到PLC中。

备注:下载成功后将PLC断电重新启动,如果不重新启动在测试下一步配置以太网参数时无法连接到PLC。

1.2 配置以太网参数选择在线 --> 传输设置,如下图:双击以太网板,弹出如下图:双击以太网模块图标:点击“其他站(同一网络)”。

点击”以太网”。

物理连接:当通过HUB的方式PC机与PLC连接时用普通的网线即可。

如果是PC机与PLC直接连接通讯请使用直连网线连接。

测试时是通过以太网的方式测试而不是通过串口。

最后点击“通讯测试”。

组态王常用函数.doc

组态王常用函数.doc
NumToReplace确定要替换的次数。(0=全部)
MatchWholeWords确定此函数是否要全了匹配。(0二不,1二是) 例如:
StrReplacef'In From Within,,z,,ln,,;,Out,,,0,l,0);//返回
"Out From Within"(只替换第一个)
StrReplace("ln From Within“,“lnTOut”,OQO);//返
SetRealDBForFloat ("\\本站点\液位",1.5)
设置实型变量“\\木站点\液位”的值为1.5o
画面显示时,牛成实型变量\\本站点\液位的操作事件
Sgn
此函数判别一个数值的符号(正、零或负)。调用格式:
In tegerResult=Sg n(N umber);
北京亚控科技发展有限公司
组态王命令语言函数速查手册
110
参数描述
Number任一数值或组态王实型或整型变量名。
若数值为正,则返回值为lo数值为负的则返回值为数值为0
则返回0o
例如:
Sgn(425);〃将返冋1
Sgn(0);〃将返回0
Sgn(-37.3);//将返回-1
ShowNavigateWi ndow
此函数用于实现导航窗口的显示与隐藏。调用格式:
ShowNavigateWindow(nCmdShow);
参数描述
nCmdShow:导航窗口的显示与隐藏控制。nCmdShow=0,隐藏导航 窗口;nCmdShow=l,显示导航窗口。
例如:显示导航窗口:
ShowNavigateWindow(l);
StrReplace

组态王应用常见问题160例

组态王应用常见问题160例

组态王160个使用问题解答1 关于Microsoft Date and Time Picker控件,我按你说的做。

在大部分情况下可以查到数据了。

但是如果是小于10的时间数,就又不对了。

比如在“Microsoft Date and Time Picker"控件中输入08:15:10 则按钮下命令语言执行完报警查询起始时间=hour1+"时"+minute1+"分"+second1+"秒"; 后得到的是8时15分10秒而不是所需要的08时15分10秒。

少了一个0字就又查不到数据了。

请赐教,该如何解决之。

用IF语句做一下判断若小于10时在前面加“0”3 兰精灵关于设置模拟量参数输出不稳定的问题?急!关于设置模拟量参数输出不稳定的问题?我的一段程序使用6.02开发的前端使用的是三菱fx2n,通讯和采集数据都正常,但是我设置一个地址比如“d120”为最大值时,模拟量输出时是最大值但很快就掉到零,然后又恢复到最大值。

输出就不停这样变换,我要的是一个稳定输出最大值,未何会掉到零。

(去掉组态王后,只看plc输出是对的)。

最大值和最大原始值要一样最小值和最小原始值要一样请检查具体设置4 为什么VIEW的时候会提示:“创建协议组件失败”??我从别人这COPY了一个工程,但VIEW的时候会提示:“创建协议组件失败”是的工程不能在线运行!请问有什么方法可以解决这问题?!请安装组态王提供的硬件驱动程序5 怎么不能驱动呀[求助] 我问下啊,下载的驱动程序是哪个版本的呀?我现在用的是6.01版的,我怎么驱动不上啊如果驱动程序不分版本,请问怎么驱动呀?我是双机后,点搜索,可是怎么装不上呢?先把组态王提供的驱动程序包(至少应该包括以下几个文件:××.Dll,DEVLST.DAT,××.REG)拷入除组态王路径外的任一路径下安装驱动程序:“搜索亚控产品”选中搜索到的再安装驱动程序最好安装网站上提供的最新驱动6 如何使用KVDBGrid实现数据查询?当要查询数据库的AlarmDate,输入为:grid.Where=“AlarmDate=”+\\本站点\查询日期7 组态王6.03"创建协议组件失败",是何错误,如何处理!您查看一下您所用的设备的驱动程序是否安装,如果没有安装的话,可能会出现这种情况8 再问一个关于实时报表的问题我按着组态王提供的example自己做的例子,语句和例子里的差不多,但是在运行的时候实时报表无法显示当前时间段里的变量变化情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组态王中bit函数案例
以下是一个使用Bit 函数的案例:
假设有一个8 位的二进制数,我们想要判断它的第2 位和第5 位是否为1。

可以使用Bit 函数来实现。

Python
# 定义一个8 位的二进制数
binary_num = '11011011'
# 判断第2 位和第5 位是否为1
if Bit(binary_num, 2) == 1:
print("第2 位为1")
else:
print("第2 位不为1")
if Bit(binary_num, 5) == 1:
print("第5 位为1")
else:
print("第5 位不为1")
输出结果为:
第2 位不为1
第5 位为1
上述代码中,`Bit()` 函数的第一个参数是要操作的二进制数,第二个参数是指定要判断的位数(从右向左依次为0,1,2,...)。

函数返回值为对应位的值(0 或1)。

根据返回值进行相应的判断和输出。

相关文档
最新文档