位操作.docx
《位操作.docx》由会员分享,可在线阅读,更多相关《位操作.docx(10页珍藏版)》请在冰豆网上搜索。
位操作
PLC教程——第七讲位操作指令
2006-7-1015:
43:
56 【文章字体:
大 中 小】打印 收藏 关闭
GEFANUCPLC提供以下位操作指令功能:
一、与、或、非操作
与或非操作指令格式基本一致,现以“AND”指令为例:
梯形图:
注释:
Enable:
使能端
OK:
OK端
I1:
执行“与”指令的字1
I2:
执行“与”指令的字12
Q:
“与”后的结果
LEN:
执行“与”指令字的长度(I1、I2和Q指出起始地址LEN指出长度)
当Enable端为“1”时(无需上升沿跃变),该指令执行与操作,其功能如下:
该指令最多对256个字(128个双字)进行“与”操作
当Enable端为“1”时,OK端即为“1”。
二、移位指令(左移、右移指令)
左移指令与右移指令,除了移动的方向不一致外,其余参数都一致,现以左移指令为例:
梯形图:
当Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,其功能如下:
移位前字串内容:
执行移位指令图示如下:
其各参数取值如下:
IN=Q
B1=ALW_ON=1
B2=%M1
N=3
三、循环移位指令
循环移位指令分左循环移位指令和右循环移位指令,除了移动的方向不一致外,其余参数都一致,现以左循环移位指令为例:
梯形图:
注释:
Enable:
使能端
OK:
OK端
LEN:
移位字串长度
IN:
需移位字串的起始地址
N:
每次移位移几位(大于0,小于LEN)
Q:
移位后的值的地址(如要产生循环移位的效果
Q:
端与IN端的地址应该一致)
当Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,其功能如下:
移位前字串内容:
四、位测试指令
检测字串中指定位的状态,决定当前位是“1”还是“0”,结果输出至“Q”
梯形图:
注释:
Enable:
使能端
IN:
被检测字串地址
BIT:
检测该字串的第几位
Q:
该字串的值是0还是1
当Enable为“1”时(无需上升沿跃变),该指令执行如下操作:
其中:
BIT5
五、位置位(BSET)与位清零(BCLR)指令
位置位与位清零指令,功能相反,但参数一致,现以位置位指令为例:
梯形图:
注释:
Enable:
使能端
IN:
需置位字串的起始地址
BIT:
需置位的位在字串中位置
当Enable为“1”时(无需上升沿跃变),该指令操作过程如图所示:
其中:
BIT5
五.定位指令(BPOS)
搜寻指定字串第一个为“1”的位的位置。
梯形图:
注释:
Enable:
使能端
Q:
当被搜寻字串为一非零字串时,置“1”
POS:
该字串中第一个为“1”的位的位置
当Enable为“1”时(无需上升沿跃变),该指令操作过程如图所示:
如果,没有找到“1”,则Q=0,POS=0
六、屏蔽比较指令(MSKCMP)
比较两个字串相应的每个位的值是否一致。
梯形图:
注释:
Enable:
使能端
I1:
被比较字串1
I2:
被比较字串2
M:
屏蔽位(当两个字串不相等时把该地址相对应的位置“1”)
BIT:
指出下一次比较开始的位的位置一般和“BN”使用相同的地址)
MC:
当两个字串不相等时置“1”
Q:
与“M”的值相等
BN:
当两个字串不相等时表示上一次比较结束的位的位置(一般和“BIT”使用相同的地址)
当Enable为“1”时(无需上升沿跃变),该指令操作过程如图所示:
其参数地址如下:
I1=%I1
I2=%Q1
M=%R1
BIT=%R10
MC=%M1
Q=%P1
BN=%R10
如两个字串完全相等,则M=0;BN=16(字长)
信息来源: