PLC:学习笔记(西门子)4


功能指令及应用(s7-200)
·传送类指令
·运算指令
·子程序
·时钟指令
·中断
·PID指令
·通信指令

一、传送、移位、填充指令
1、传送类
1-1:单一传送(Move):指令格式(MOV* IN,OUT  //*:B、W、DW(LAD中)D(STL中)、R)      功能描述:使能端输入有效时,把数据从IN传到OUT所指的存储单元  数据类型:输入/输出均为一致
1-2:块传送(Block Move):指令格式(BM*    IN,OUT,N   //*:B、W、DW(LAD中)D(STL中)、R; N<=255)  功能表述:使能端有效时把从IN开始的N个数据传送到OUT开始的N个字符存储单元。  数据类型:输入/输出相同
1-3:字节立即传送(Move Immediate):
 字节立即读:BIR    IN,OUT
        字节立即写:BIW    IN,OUT
举例:
LD I0.0
EU
MOVB VB100,VB200
MOVW VW110,VW210
MOVD VD120,VD120
BMB VB130,VB230,4    //传送4个字节
VMW VW140,VW240
BIR IB1,VB270       //从I1物理输入状态立即送到VB270中,不受扫描周期的影响
BIW VB270,QB0 //将VB270中的数据立即从Q0输出,不受扫描周期的影响

2、移位与循环指令
类型:左移、右移、左循环、右循环
2-1:移位指令(shift)
 移出数据存储单元与SM1.1(溢出)相连接。
 移位次数与移位数据长度有关,超出的次数无效(例如字左移20次,实际只有16次)
 若移位操作使得最后数据变为0,则零存储器标志位(SM1.0)自动置位
  左移:SL* OUT,N
  右移:SR* OUT,N
注意:LAD中输入/输出的位置可以不同,但在STL中相同
举例:
LD I0.0
EU
SLB VB0,2
SRW VW10,3

2-2:循环移位指令(Route)
 移出端与另一端相连,同时又与SM1.0(溢出)相连
 移位次数与数据长度有关,若设定值大于数据长度,则取余数,作为移位长度
  左移:RL* OUT,N
  右移:RR* OUT,N
注意:LAD中输入/输出的位置可以不同,但在STL中相同
举例:
LD I0.0
EU
RRW VW0,3

2-3:寄存器移位指令(shift register)
 使能端有效时,每个扫描周期移位一次,注:不要用边沿跳变来控制使能端的状态,不然就失去了应用意义
 移出端与SM1.1(溢出)相连。移位时,一端进入SM1.1,另一端自动补上DATA移入低位
 移位分为正向和反向:
  正向:N>0 最低字节的最低位移入,最高字节的最高位移出
  反向:相反
举例:
LD I0.0
EU
SHRB I0.5,V20.0,5

3、字节交换指令
 功能表述:高字节和低字节进行交换
 数据类型:输入为字
举例:
LD I0.0
EU
SWAP VW10

4、填充指令(Memory fill)
功能表述:将“字”型输入数据IN填充到输出OUT所指的单元开始的N个存储单元中
举例:
LD SM0.1
FILL 10,VW100,12  //将10填充到vw100以后的12个字节中去


二、运算和数学指令
 注:LAD与STL中的区别是,STL中OUT要和IN1、IN2中的一个为同一个地址存储单元。而在LAD中可以不同
所以!!!!:建议使用LAD进行运算和数学指令的编程
1、加法指令:
  功能描述:LAD:IN1+IN2=OUT;   STL:IN+OUT=OUT
  数据类型:输入输出相同(I  DI R)
  STL表示:+* IN1,OUT
2、减法指令:
  功能描述:LAD:IN1-IN2=OUT;  STL:OUT-IN1=OUT
  数据类型:输入输出相同(I  DI R)
  STL表示:-* IN1,OUT
3、乘法指令
 3-1:一般乘法指令
 LAD:IN1*IN2=OUT
 STL:IN1*OUT=OUT
 数据类型:输入输出相同(I  DI R)
 3-2:完全整数乘法:
 LAD:IN1*IN2=OUT
 STL:IN1*OUT=OUT 
 数据类型:输入为INT 输出为DINT 
4、除法指令
 4-1:一般除法指令(Divide)
 LAD:IN1/IN2=OUT
 STL:OUT/IN1=OUT
 数据类型:输入/输出相同,不保留余数(I  DI R)
 4-2:完全整数除法(Divide integer to double integer)
        两个16位符号整数相除,产生一个32的结果,低16位为商,高16位为余数。
 LAD:IN1/IN2=OUT
 STL:OUT/IN1=OUT
举例:
LD I0.0
EU
MOVW VW10,VW16
+I VW12,VW16
MOVW VW10,VW18
-I VW12,VW18
MOVW VW10,VW22
MUL VW12,VD20   //完全乘法 
MOVW VW10

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值