新浪博客

[转载]关于STEP7在组态王里定义I/O离散变量

2013-11-14 12:29阅读:

SIMATIC S7-300系列PLC协议(MPI通讯卡)
Wecome to radish blog!
1.组态王I/O设备地址格式:*.*
其中小数点前为MPI地址(即站号),小数点后为MPI设备(即所使用的通讯模块或CPU模块)
的槽号(slot number)范围为0.0~126.126,建议使用常用的地址范围为2.2~126.30.
一般PLC默认的地址(即站号)为2,槽号为2,组态王设备地址定义为2.2.
2.对于E、A寄存器,本驱动不支持位数据类型,只能以字节(BYTE)或字符串形式存取数
据。每一个BYTE类型(8个BIT位)可以对应8个开关量的输入或输出状态,即BYTE的0-7位分
别对应输入或输出的0-7开关量通道。如果想显示或控制某一开关量通道的状态,必须使用
组态王提供的BIT()或BITSET()函数进行取位或置位。
组态王(本驱动)支持的寄存器名称为德文方式,与PLC中英文寄存器对应关系如下:
A------Q数字量输出寄存器
M------M位寄存器
DB-----DB数据块寄存器
E------I数字量输入寄存器
T------T定时器
Z------C计数器
由于组态王驱动对于STEP7寄存器取不到位,所以组态王在定义变量时运用了两个函数BIT();BITSET();
Bit函数 返回 
此函数用于取得一个整型或实型变量某一位的值。 
使用格式:
OnOff = Bit(Var , bitNo); 
参数及其描述
Var
整型或实型变量。
bitNo
位的序号,取值1到16。
返回值
若变量Var的第bitNo位为0,返回值OnOff为0;若变量Var的第bitNo位为1,返回值OnOff为1; 
例:
开关=Bit( DDE1, 6);
从变量DDE1的第6位得到变量“开关”状态。 

BitSet函数 返回 
此函数将一个整型或实型变量某一位设置为指定值。 
使用格式:
BitSet(Var , bitNo, OnOff ); 
参数及其描述
Var
整型或实型变量。
bitNo
位的序号,取值1到16。
返回值
若变量Var的第bitNo位为0,返回值OnOff为0;若变量Var的第bitNo位为1,返回值OnOff为1;
 
例:
开关=BitSet( DDE1, 6);
从变量DDE1的第6位得到变量“开关”状态。  
注意:对于IO变量来说,BitSet函数只是用于可读可写的变量。
举例说明:
首先定义一个变量名为E0,变量类型为I/O整型,寄存器数据类型为BYTE.
所以在变量E0中存在8个位用来作为I/O离散量。如果要取E0变量中的第一位作为表达式输入的话就用函数BIT(E0,1)。对于用于命令语言的离散变量,就要分别对应这8个位新建8个内存离散的变量。

bitset(M10,1,\本站点计算机自动1#);
if (\本站点计算机自动1#==1) \本站点计算机自动1#=0;

else \本站点计算机自动1#=1;
M10为定义的BYTE类型的变量,“计算机自动1#”为内存离散型。这样就实现了利用字节中的位来写命令语言。


我的更多文章

下载客户端阅读体验更佳

APP专享