西门子PLC指令教程 应用指令
第4章西门子PLC编程举例3(数字指令)
四、STEP 7基本数据类型
关键字 BOOL BYTE WORD DWORD CHAR S5TIME 长度 (位) 位 1 8 16 32 8 16 该类型的常数举例 True 或 False (1 或0) B#16#A9 W#16#12AF DW#16#ADAC1EF5 'w' S5T#5s_200ms
CMP ? R 实数比较
例
如果下列条件成立,则输出 Q4.0 置位: • 在输入 I0.0 和 I0.1 的信号状态为“1” • 并且 MD0 >= MD4 • 并且,输入 I0.2 的信号状态为“1”
三、 转换指令P118
下述转换指令可供使用: • BCD_I BCD 码转换为整数 • I_BCD 整数转换为BCD 码 • BCD_DI BCD 码转换为双整 数 • I_DINT 整数转换为双整数 • DI_BCD 双整数转换为BCD 码 • DI_REAL 双整数转换为浮点 数 • INV_I 整数的二进制反码 • INV_DI 双整数的二进制反码 • NEG_I 整数的二进制补码 • NEG_DI 双整数的二进制补 码 • NEG_R 浮点数求反 • ROUND 舍入为双整数 • TRUNC 舍去小数取整为双 整数 • CEIL 上取整 • FLOOR 下取整
第四章 S7-300指令系统 ——数字指令
要求: 1、了解S7-300编程软件STEP7的基本数据 类型。 2、了解S7-300系列PLC的各种数字指令 3、能编写简单程序。
一、S7-300系列PLC编成语言-STEP7
PLC的编程语言有3种: 1、梯形图(LAD) 方式 2、语句表(STL) 方式 3、功能块图(FBD) 方式 例1 梯形图方式
例1 无条件跳转
西门子S7-200 PLC的指令系统及指令应用
说明: 根据控制要求,程序在 M0.1 处应该输出 Q0.1,在 M0.2 处也应该输出 Q0.1 如果在 M0.1 及 M0.2 处直接输出 Q0.1,则就范了上面程序双线圈错误, 因此在需要输出 Q0.1 的地方,输出不同的中间继电器,然后把中间继电器的常 开点并联起来,再集中输出一个 Q0.1 的线圈,这样就能避免双线圈的问题。 或者下面的程序也能正确的满足控制要求:
分析: 若 A 先按下按钮, 则 Q0.1 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 若 B 先按下按钮, 则 Q0.2 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 同理,C、D 一样 以下程序是分析后得出的:
地址:苏州吴中宝丰路 1 号
咨询: 400-8169-114
苏州天天自动化 PLC 培训中心
触点指令应用案例 3:
用一个按钮(I0.1)来控制三个输出(Q0.1、Q0.2、Q0.3) 。 当 Q0.1、Q0.2、Q0.3 都为 OFF 时,按第一下 I0.1,则 Q0.1 变为 ON, 按第二下 I0.1,则 Q0.1、Q0.2 变为 ON, 按第三下 I0.1,则 Q0.1、Q0.2、Q0.3 都变 ON 按第四下 I0.1,则 Q0.1、Q0.2、Q0.3 都变为 OFF 状态。 按第五下 I0.1,重复执行如上动作。 试用两种不同的程序设计方法设计其梯形图程序。 以下是分析后得出的程序:
上图梯形图中,”N”此条件只有当 I0.0 由接通→断开的瞬间(也就是上面波形 图中的过程 4 这个状态时)才会接通,其他时刻都不会接通。
应用案例 1:每按一下 I0.1 按钮,变量存储器的数值加 1
西门子指令
第1章位逻辑指令1.1 LD指令:载入常开触点 11.2 A指令:串联常开触点 21.3 O指令:并联常开触点 31.4 LDN指令:载入常闭触点 41.5 AN指令:串联常闭触点 51.6 ON指令:并联常闭触点 61.7 LDI指令:立即载入常开触点71.8 AI指令:串联立即常开触点81.9 OI指令:并联立即常开触点91.10 LDNI指令:载入立即常闭触点101.11 ANI指令:串联立即常闭触点111.12 ONI指令:并联立即常闭触点131.13 NOT指令:改变使能位输入状态141.14 EU指令:上升边缘检测151.15 ED指令:下降边缘检测161.16 ALD指令:触点块串联171.17 OLD指令:触点块并联181.18 LPS、LRD、LPP指令:逻辑堆栈操作191.19 =指令:线圈输出211.20 =|指令:立即线圈输出221.21 S指令:线圈置位231.22 SI指令:线圈立即置位241.23 R指令:线圈复位251.24 RI指令:线圈立即复位261.25 NOP指令:空操作271.26 X指令:异或操作28第2章比较指令2.1 LDB=指令:载入字节等于302.2 AB=指令:与运算字节等于312.3 OB=指令:或运算字节等于322.4 LDB指令:载入字节不等于332.5 AB指令:与运算字节不等于342.6 OB指令:或运算字节不等于352.8 AB=指令:与运算字节大于或等于37 2.9 OB=指令:或运算字节大于或等于39 2.10 LDB=指令:载入字节小于或等于40 2.11 AB=指令:与运算字节小于或等于41 2.12 OOB=指令:或运算字节小于或等于42 2.13 LDB指令:载入字节大于432.14 AB指令:与运算字节大于442.15 OB指令:或运算字节大于452.16 LDB指令:载入字节小于462.17 AB指令:与运算字节小于472.18 OB指令:或运算字节小于482.19 LDW=指令:载入字等于492.20 AW=指令:与运算字等于502.21 OW=指令:或运算字等于522.22 LDW指令:载入字不等于532.23 AW指令:与运算字不等于542.24 OW指令:或运算字不等于552.25 LDW=指令:载入字大于或等于562.26 AW=指令:与运算字大于或等于57 2.27 OW=指令:或运算字大于或等于58 2.28 LDW=指令:载入字小于或等于602.29 AW=指令:与运算字小于或等于61 2.30 OW=指令:或运算字小于或等于62 2.31 LDW指令:载入字大于632.32 AW指令:与运算字大于642.33 OW指令:或运算字大于652.34 LDW指令:载入字小于672.35 AW指令:与运算字小于682.36 OW指令:或运算字小于692.37 LDD=指令:载入双字等于702.38 AD=指令:与运算双字等于712.39 OD=指令:或运算双字等于722.40 LDD指令:载入双字不等于732.41 AD指令:与运算双字不等于742.42 OD指令:或运算双字不等于762.43 LDD=指令:载入双字大于或等于77 2.44 AD=指令:与运算双字大于或等于782.46 LDD=指令:载入双字小于或等于802.47 AD=指令:与运算双字小于或等于812.48 OD=指令:或运算双字小于或等于822.49 LDD指令:载入双字大于832.50 AD指令:与运算双字大于842.51 OD指令:或运算双字大于852.52 LDD指令:载入双字小于872.53 AD指令:与运算双字小于882.54 OD指令:或运算双字小于892.55 LDR=指令:载入实数等于902.56 AR=指令:与运算实数等于912.57 OR=指令:或运算实数等于922.58 LDR指令:载入实数不等于932.59 AR指令:与运算实数不等于942.60 OR指令:或运算实数不等于952.61 LDR=指令:载入实数大于或等于962.62 AR=指令:与运算实数大于或等于972.63 OR=指令:或运算实数大于或等于982.64 LDR=指令:载入实数小于或等于1002.65 AR=指令:与运算实数小于或等于1012.66 OR=指令:或运算实数小于或等于1022.67 LDR指令:载入实数大于1032.68 AR指令:与运算实数大于1042.69 OR指令:或运算实数大于1052.70 LDR指令:载入实数小于1062.71 AR指令:与运算实数小于1072.72 OR指令:或运算实数小于108第3章转换指令3.1 BTI指令:字节转换至整数1103.2 ITB指令:整数转换至字节1113.3 ITD指令:整数转换至长整数1123.4 ITS指令:整数转换至字符串1133.5 DTI指令:长整数转换至整数1153.6 DTR指令:长整数转换至实数1163.7 DTS指令:长整数转换至字符串1173.8 ROUND指令:取整为长整数1193.9 TRUNC指令:截断为长整数1203.10 RTS指令:实数转换至字符串1213.11 BCDI指令:BCD码转换为整数1233.12 IBCD指令:整数转换为BCD码1243.13 ITA指令:整数转换至ASCII码1253.14 DTA指令:长整数转换至ASCII码1273.15 RTA指令:实数转换至ASCII码1293.16 ATH指令:ASCII码转换至十六进制数字1313.17 HTA指令:十六进制数字转换至ASCII码1333.18 STI指令:字符串转换至整数1343.19 STD指令:字符串转换至长整数1363.20 STR指令:字符串转换至实数1373.21 DECO指令:解码1383.22 ENCO指令:编码1403.23 SEG指令:七段显示转换141第4章计数器指令4.1 CTU指令:向上计数1434.2 CTD指令:向下计数1454.3 CTUD指令:双向计数1464.4 HDEF指令:定义高速计数器1484.5 HSC指令:高速计数器150第5章浮点型数学运算指令5.1 +R指令:实数加1535.2 -R指令:实数减1545.3 *R指令:实数乘1565.4 /R指令:实数除1575.5 SQRT指令:求平方根1595.6 SIN指令:求正弦值1605.7 COS指令:求余弦值1615.8 TAN指令:求正切值1625.9 LN指令:求自然对数1635.10 EXP指令:求指数值164第6章整型数学运算指令6.1 +I指令:整数加1656.2 +D指令:长整数加1666.3 ?I指令:整数减1686.4 ?D指令:长整数减1696.5 MUL指令:整数与长整数相乘1716.6 *I指令:整数乘1726.7 *D指令:长整数乘1736.8 DIV指令:整数与长整数相除1756.9 /I指令:除以整数1766.10 /D指令:除以长整数1776.11 INCB指令:递增字节1796.12 INCW指令:递增字1806.13 INCD指令:递增双字1816.14 DECB指令:递减字节1836.15 DECW指令:递减字1846.16 DECD指令:递减双字185第7章中断指令7.1 CRETI指令:从中断(INT)有条件返回1877.2 ENI指令:启用中断1887.3 DISI指令:禁止中断1897.4 ATCH指令:中断连接1907.5 DTCH指令:中断分离1917.6 CEVNT指令:清除中断事件192第8章字逻辑指令8.1 INVB指令:取反字节1948.2 INVW指令:取反字1958.3 INVD指令:取反双字1968.4 ANDB指令:与运算字节1978.5 ANDW指令:与运算字1998.6 ANDD指令:与运算双字2008.7 ORB指令:或运算字节2018.8 ORW指令:或运算字2038.9 ORD指令:或运算双字2048.10 XORB指令:异或运算字节2058.11 XORW指令:异或运算字2078.12 XORD指令:异或运算双字208第9章移动指令9.1 MOVB指令:移动字节2109.2 MOVW指令:移动字2119.3 MOVD指令:移动双字2129.4 MOVR指令:移动实数2139.5 BMB指令:成块移动字节2149.6 BMW指令:成块移动字2159.7 BMD指令:成块移动双字2179.8 SWAP指令:交换字节2189.9 BIR指令:移动字节立即读取2199.10 BIW指令:移动字节立即写入220第10章程序控制指令10.1 FOR指令:循环开始22210.2 NEXT指令:循环结束22410.3 JMP指令:跳接至标签22510.4 LBL指令:语句标签22610.5 LSCR指令:载入顺序控制继电器22610.6 SCRT指令:顺序控制继电器转换22810.7 SCRE指令:顺序控制继电器结束22910.8 CRET指令:从子程序(SBR)有条件返回23110.9 END指令:主程序(OB1)有条件结束23110.10 STOP指令:转换至停止模式23210.11 WDR指令:监视程序复原23210.12 DLED指令:诊断LED 233第11章移位和循环移位指令11.1 SLB指令:向左移位字节23511.2 SLW指令:向左移位字23611.3 SLD指令:向左移位双字23811.4 SRB指令:向右移位字节23911.5 SRW指令:向右移位字24011.6 SRD指令:向右移位双字24211.7 RLB指令:循环左移字节24311.8 RLW指令:循环左移字24411.9 RLD指令:循环左移双字24611.10 RRB指令:循环右移字节24711.11 RRW指令:循环右移字24911.12 RLD指令:循环右移双字25011.13 SHRB指令:寄存器位移252第12章字符串指令12.1 SLEN指令:获取字符串长度25412.2 SCPY指令:将字符串1复制至字符串2 25512.3 SSCPY指令:从字符串复制子字符串25712.4 SCAT指令:字符串连接25812.5 SFND指令:在字符串1中查找字符串2 26012.6 CFND指令:在字符串中查找字符26112.7 LDS=指令:载入字符串等于26312.8 AS=指令:与运算字符串等于26412.9 OS=指令:或运算字符串等于26512.10 LDS指令:载入字符串不等于26612.11 AS指令:与运算字符串不等于26712.12 OS指令:或运算字符串不等于26812.13 ITS指令:整数转换至字符串26912.14 DTS指令:双整数转换至字符串27112.15 RTS指令:实数转换至字符串27212.16 STI指令:字符串转换至整数27412.17 STD指令:字符串转换至长整数27612.18 STR指令:字符串转换至实数278第13章表格指令13.1 FILL指令:内存填充28013.2 ATT指令:增加至表格28113.3 FND?TBL指令:表格查找28313.4 LIFO指令:后入先出28513.5 FIFO指令:先入先出286第14章定时器指令14.1 TON指令:接通延时定时器28814.2 TONR指令:掉电保护性接通延时定时器29014.3 TOF指令:断开延时定时器29114.4 BITIM指令:开始间隔时间29314.5 CITIM指令:计算间隔时间294插图第15章特殊指令15.1 网络读/网络写29615.2 发送/接收29915.3 脉冲输出30215.4 PID指令305。
西门子s7-200PLC基本指令
15:33
14
15:33
15
2、保持型接通延时定器(TONR)
Txx IN TONR PT
•在输入(IN)收到能流时,从当前值开始计时; •当当前值达到预置值(PT)时,定时器位被置1; •当输入能流断开时停止计时,定时器位、当前值保持不变; •必须用复位指令才能清除定时器位和当前值; •定时器号(Txx)决定了定时器的分辨率。
???
② 置位线圈指令
(S) xxx
???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置1;
当指令没收到能流时,则???指定的位状态不变 。
???
③ 复位线圈指令 (xRxx) ???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置0;
当指令没收到能流时,则???指定的位状态不变 。
1. 基本逻辑指令 2. 堆栈操作指令* 3. 定时器指令 4. 计数器指令 5. 比较指令
15ห้องสมุดไป่ตู้33
2
一、基本逻辑指令
1、触点指令
???
① 检查闭指令 其中???位代表位地址 当???指定地址的数据为1时, 指令结果接通能流; 否则,指令结果断开能流。
???
② 检查开指令 其中???位代表位地址 当???指定地址的数据为0时, 指令结果接通能流; 否则,指令结果断开能流。
15:33
21
2、减计数器减计数指令(CTD)
Cxx CD CTD LD PV
从当前计数值开始,在每一个(CD)输入状态 的低到高时递减计数。
•当CXX的当前值等于0时,计数器位CXX置位。
西门子300PLC编程入门
计时器线圈操作 •脉冲计时器( SP ) I1.0 =ON时 •扩展脉冲计时器( SE ) I1.0 =ON时 计时器的数据格式:
•开通延时计时器( SD ) I1.0 =ON时 •保持型开通延时计时器( SS ) I1.0 =ON时 •关断延时计时器( SF ) I1.0 =ON时
程序控制指令 (1)主控继电器功能
二、模式选择开关
三、复位存储器:
通电后从STOP位置扳到MRES位置,“STOP” LED熄灭1s,亮1s,再熄灭1s后保持亮。放开开关,使它回到STOP位置,然后又回到MRES,“STOP” LED以2Hz的频率至少闪动3s,表示正在执行复位,最后“STOP” LED一直亮。
第二章 PLC编程基础
Байду номын сангаас
PS CPU SM SM SM SM SM SM SM
模块
1 2 4 5 6 7 8 9 10
槽号
地址 0.0 地址 0.7 地址 1.0 地址 1.7
3.STEP 7 的可能寻址范围
3. STEP 7 的可能寻址范围 设计的地址区 访问区域 缩写 加在一起的最大区域 过程映象 I/Q 输入 /输出位 I / Q 0.0 --- 65,535.7 输入 /输出字节 I/QB 0 --- 65,535 输入 /输出字 I/QW 0 --- 65,534 输入 /输出双字 I/QD 0 --- 65,532 存储器标志 存储器位 M 0.0 --- 255.7 存储器字节 MB 0 --- 255 存储器字 MW 0 --- 254 存储器双字 MD 0 --- 252 I/Q 外部输入/输出 I/Q 字节, 外设 PIB/PQB 0 --- 65,535 I/Q 字, 外设 PIW/PQW 0 --- 65,534 I/Q 双字, 外设 PID/PQD 0 --- 65,532 定时器 定时器 (T) T 0 --- 255 计数器 计数器 (C) C 0 --- 255
西门子plc指令
1.10 LDNI指令:载入立即常闭触点
1.11 ANI指令:串联立即常闭触点
1.12 ONI指令:并联立即常闭触点
1.13 NOT指令:改变使能位输入状态
1.14 EU指令:上升边缘检测
1.15 ED指令:下降边缘检测
1.16 ALD指令:触点块串联
2.40 LDD指令:载入双字不等于
2.41 AD指令:与运算双字不等于
2.42 OD指令:或运算双字不等于
2.43 LDD=指令:载入双字大于或等于
2.44 AD=指令:与运算双字大于或等于
2.45 OD=指令:或运算双字大于或等于
2.46 LDD=指令:载入双字小于或等于
2.23 AW指令:与运算字不等于
2.24 OW指令:或运算字不等于
2.25 LDW=指令:载入字大于或等于
2.26 AW=指令:与运算字大于或等于
2.27 OW=指令:或运算字大于或等于
2.28 LDW=指令:载入字小于或等于
2.29 AW=指令:与运算字小于或等于
2.30 OW=指令:或运算字小于或等于
3.7 DTS指令:长整数转换至字符串
3.8 ROUND指令:取整为长整数
3.9 TRUNC指令:截断为长整数
3.10 RTS指令:实数转换至பைடு நூலகம்符串
3.11 BCDI指令:BCD码转换为整数
3.12 IBCD指令:整数转换为BCD码
3.13 ITA指令:整数转换至ASCII码
11.11 RRW指令:循环右移字
11.12 RLD指令:循环右移双字
11.13 SHRB指令:寄存器位移
西门子PLC编程指令
西门子PLC编程指令1、位逻辑指令(1)-||-常开接点(地址)(2)-|/|-常闭接点(地址)(3)XOR位异或(4)-|NOT|-信号流反向(5)-()输出线圈(6)-(#)-中间输出(7)-(R)线圈复位(8)-(S)线圈置位(9)RS复位置位触发器(10)RS置位复位触发器(11)-(N)-RLO下降沿检测(12)-(P)-PLO上升沿检测(13)-(SAVE)将RLO存入BR存储器(14)MEG地址下降沿检测(15)POS地址上升沿检测2、比较指令(1)CMP?I整数比较(2)CMP?D双整数比较(3)CMP?R实数比较3、转换指令(1)BCD_IBCD码转换为整数(2)I_BCD整数转换为BCD码(3)I_DINT整数转换为双整数(4)BCD_DIBCD码转换为双整数(5)DI_BCD双整数转换为BCD码(6)DI_REAL双整数转换为浮点数(7)INV_I整数的二进制反码(8)INV_DI双整数的二进制反码(9)NEG_I整数的二进制补码(10)NEG_DI双整数的二进制补码(11)NEG_R浮点数求反(12)ROUND舍入为双整数(13)TRUNC舍去小数取整为双整数(14)CEIL上取整(15)FLOOR下取整4、计数器指令(1)S_CUD加减计数(2)S_CU加计数器(3)S_CD减计数器(4)-(SC)计数器置初值(5)-(CU)加计数器线圈(6)-(CD)减计数器线圈5、数据块指令(1)-(OPN)打开数据块:DB或DI6、逻辑控制指令(1)-(JMP)无条件跳转(2)-(JMP)条件跳转(3)-(JMPN)若非则跳转(4)LABEL标号7、整数算术运算指令(1)ADD_I整数加法(2)SUB_I整数减法(3)MUL_I整数乘法(4)DIV_I整数除法(5)ADD_DI双整数加法(6)SUB_DI双整数减法(7)MUL_DI双整数乘法(8)DIV_DI双整数除法(9)MOD_DI回送余数的双整数8、浮点算术运算指令(1)基础指令①ADD_R实数加法②SUB_R实数减法③MUL_R实数乘法④DIV_R实数除法⑤ABS浮点数绝对值运算(2)扩展指令①SQR浮点数平方②SQRT浮点数平方根③EXP浮点数指数运算④LN浮点数自然对数运算⑤SIN浮点数正弦运算⑥COS浮点数余弦运算⑦TAN浮点数正切运算⑧ASIN浮点数反正弦运算⑨ACOS浮点数反余弦运算⑩ATAN浮点数反正切运算9、赋值指令(1)MOVE赋值10、程序控制指令(1)-(Call)从线圈调用FC/SFC(无参数) (2)CALL_FB从方块调用FB(3)CALL_FC从方块调用FC(4)CALL_SFB从方块调用SFB(5)CALL_SFC从方块调用SFC(6)-(MCR<)主控继电器接通(7)-(MCR>)主控继电器断开(8)-(MCRA)主控继电器启动(9)-(MCRD)主控继电器停止(10)-(RET)返回11、移位和循环指令(1)移位指令①SHR_I整数右移②SHR_DI双整数右移③SHL_W字左移④SHR_W字右移⑤SHL_DW双字左移⑥SHR_DW双字右移(2)循环指令①ROL_DW双字左循环②ROR_DW双字右循环12、状态位指令(1)OV-||-溢出异常位(2)OS-||-存储溢出异常位(3)UO-||-无序异常位(4)BR-||-异常位二进制结果(5)==0-||-结果位等于"0"(6)<>0-||-结果位不等于"0" (7)>0-||-结果位大于"0"(8)<0-||-结果位小于"0"(9)>=0-||-结果位大于等于"0" (10)<=0-||-结果位小于等于"0"13、定时器指令(1)S_PULSE脉冲S5定时器(2)S_PEXT扩展脉冲S5定时器(3)S_ODT接通延时S5定时器(4)S_ODTS保持型接通延时S5定时器(5)S_OFFDT断电延时S5定时器(6)-(SP)脉冲定时器线圈(7)-(SE)扩展脉冲定时器线圈(8)-(SD)接通延时定时器线圈(9)-(SS)保持型接通延时定时器线圈(10)-(SF)断开延时定时器线圈14、字逻辑指令(1)WAND_W字和字相"与"(2)WOR_W字和字相"或"(3)WAND_DW双字和双字相"与" (4)WOR_DW双字和双字相"或" (5)WXOR_W字和字相"异或" (6)WXOR_DW双字和双字相"异或“。
西门子S7-200 PLC指令简介及实例分析
数据处理、运算指令及应用本章要点✍ 数据传送、字节交换、字节立即读写、移位、转换指令的介绍、应用及实训 ✍ 算术运算、逻辑运算、递增/递减指令的介绍、应用及实训✍ 表的定义、填表指令、表取数指令、填充指令、表查找指令的介绍5.1 数据处理指令5.1.1 数据传送指令1. 字节、字、双字、实数单个数据传送指令MOV数据传送指令MOV ,用来传送单个的字节、字、双字、实数。
指令格式及功能如表5-1所示。
表5-1单个数据传送指令MOV 指令格式使EN O = 0即使能输出断开的错误条件是:SM4.3(运行时间),0006(间接寻址错误)。
【例5-1】将变量存储器VW10中内容送到VW100中。
程序如图5-1所示。
LD I0.1MOVW VW10, VW100图5-1例5-1题图2. 字节、字、双字、实数数据块传送指令BLKMOV数据块传送指令将从输入地址IN 开始的N 个数据传送到输出地址OUT 开始的N 个单元中,N 的范围为1至255,N 的数据类型为:字节。
指令格式及功能如表5-2所示。
表5-2 数据传送指令BLKMOV 指令格式使ENO= 0的错误条件:0006(间接寻址错误)0091(操作数超出范围)。
【例5-2】程序举例:将变量存储器VB20开始的4个字节(VB20- VB23)中的数据,移至VB100开始的4个字节中(VB100-VB103)。
程序如图5-2所示。
LAD STLLD I0.0BMB VB20 ,VB100, 4图5-2 例5-2图程序执行后,将VB20~VB23中的数据30、31、32、33送到VB100~VB103。
执行结果如下:数组1数据 30 31 32 33数据地址 VB20 VB21 VB22 VB23块移动执行后:数组2数据 30 31 32 33数据地址 VB100 VB101 VB102 VB1035.1.2 字节交换、字节立即读写指令1. 字节交换指令字节交换指令用来交换输入字IN 的最高位字节和最低位字节。
西门子PLC程序指令注意点
PLC程序详解(图文并貌)一、时间继电器:TON 使能=1计数,计数到设定值时(一直计数到32767),定时器位=1。
使能=0复位(定时器位=0)。
TOF 使能=1,定时器位=1,计数器复位(清零)。
使能由1到0负跳变,计数器开始计数,到设定值时(停止计数),定时器位=0。
如下图:图1:使能=1时,TOF(T38)的触点动作图图2:使能断开后,计数到设定值后,TOF(T38)的触点动作图(其中T38常开触点是在使能由1到0负跳变后计数器计时到设定值后变为0的)TONR 使能=1,计数器开始计数,计数到设定值时,计数器位=1。
使能断开,计数器停止计数,计数器位仍为1,使能位再为1时,计数器在原来的计数基础上计数。
以上三种计数器可以通过复位指令复位。
正交计数器 A相超前B相90度,增计数B相超前A相90度,减计数当要改变计数方向时(增计数或减计数),只要A相和B相的接线交换一下就可以了。
二、译码指令和编码指令:译码指令和编码指令执行结果如图所示:DECO是将VW2000的第十位置零(为十进制的1024),ENCO输入IN最低位为1的是第3位,把3写入VB10(二进制11)。
三、填表指令(ATT)S7-200填表指令(ATT)的使能端(EN)必须使用一个上升沿或下降沿指令(即在下图的I0.1后加一个上升沿或下降沿),若单纯使用一个常开触点,就会出现以下错误:这一点在编程手册中也没有说明,需要注意。
其他的表格指令也同样。
四、数据转换指令使用数据转换指令时,一定要注意数据的范围,数据范围大的转换为数据范围小的发注意不要超过范围。
如下图所示为数据的大小及其范围。
(1)BCD码转化为整数(BCD_I)关于什么是BCD码,请参看《关于BCD码》。
BCD码转化为整数,我是这样理解的:把BCD码的数值看成为十进制数,然后把BCD到整数的转化看成是十进制数到十六进制数的转化。
如下图所示,BCD码为54,转化为整数后为36。
西门子PLC指令教程基本指令
LD ED =
I0.0 Q0.1
// //脉冲负跳变 //
图4.5
跳变应用
I0.0 Q0.0 Q0.1
图4.6
时序
3. 置位和复位指令
(1)S,置位指令 (2)R,复位指令 置位即置 1 ,复位即置 0 。置位和复位指令可以将位存储区 的某一位开始的一个或多个(最多可达255个)同类存储器 位置 1或置 0。这两条指令在使用时需指明三点:操作性质、 开始位和位的数量。各操作数类型及范围如表4.6所示。
LD +I I0.0 //使能输入端 //整数加法 //VW0+VW4=VW4
VW0, VW4
图4.1
整数加法
3. 梯形图的基本绘制规则 (1)Network (2)能流/使能 (3)编程顺序 (4)编号分配 (5)内、外触点的配合 (6)触点的使用次数 (7)线圈的使用次数 (8)线圈的连接
返回本节
基本指令 知识
4.1 4.2 4.3 4.4 4.5
位操作类指令 运算指令 其他数据处理指令 表功能指令 转换指令
本章学习目的
l l l l l 位操作类指令,主要是位操作及运算指令, 与时也包含与位操作密切相关的定时器和计数 器指令等。 运算指令,包括常用的算术运算和逻辑运算 指令。 其他数据处理类,包括数据的传送、移位、 填充和交换等指令。 表功能指令,包括对表的存取和查找指令。 转换指令,包括数据类型转换、码转换和字 符转换指令。
I0.0 I0.1 I0.2 Q0.0 Q0.2
图4. 4
时序图
负跳变触点检测到脉冲的每一次负跳变后, 产生一个微分脉冲。 指令格式:ED (无操作数) 应用举例:图 4.5 是跳变指令的程序片断。 图4.6是图4.5指令执行的时序。
「干货分享」西门子S7-200SMARTPLC常用编程指令汇总
「干货分享」西门子S7-200SMARTPLC常用编程指令汇总
01一、定时器
1、S7-200 SMART CPU提供了接通延时定时器、(TON)、保持型接通延时定时器(TONR)、断开延时定时器(TOF)三种定时器。
2、定时器编号与分辨率
3、定时器实例分析
(1)接通延时定时器TON
(2)保持型接通延时定时器TONR
(3)断开延时定时器TOF
02二、计数器
1、S7-200 SMART CPU提供了加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD)三种计数器。
2、计数器实例分析
(1)加计数器CTU
(2)减技数CTD
(3)加减计数器CTUD
03三、循环指令
1、S7-200 SMART CPU提供了FOR-NEXT循环指令用于重复执行程序段。
每条FOR指令需要使用一条NEXT指令,FOR指令表示循环体的开始,NEXT指令表示循环体的结束。
FOR- NEXT循环指令循环嵌套深度可达8层。
2、循环指令示例分析
通过调用FOR - NEXT 指令对VW100、VW102、......、VW108 5个INT变量进行求和,求和的结果存放到VW200中。
04四、移位和循环指令
1、指令概览
2、示例分析
(1)移位指令和循环移位指令的示例分析
(2)移位寄存器位指令
综上所述,每当M0.0有一个上升沿到来时,从V200.4开始向高地址方向数的9个位会朝高地址方向移位,I0.0的状态会被送到V200.4中。
西门子 PLC系列基本指令和实训
6、逻辑堆栈的操作
①思考:写出下列梯形图的语句表。
S7-200PLC教学课件 制作人:安徽机电职业技术学院 白金
②指令用法说明
LPS(入栈)指令:LPS指令把栈顶值复制后压入堆 栈,栈中原来数据依次下移一层,栈底值压出丢失。 LRD(读栈)指令:LRD指令把逻辑堆栈第二层的值 复制到栈顶,2-9层数据不变,堆栈没有压入和弹出。 但原栈顶的值丢失。 LPP(出栈)指令:LPP指令把堆栈弹出一级,原第 二级的值变为新的栈顶值,原栈顶数据从栈内丢失。
S7-200PLC教学课件 制作人:安徽机电职业技术学院 白金
5. 逻辑环节(电路块)的并联指令OLD.
(1)定义
OLD(OR load) :用于并联连接串联触点组成的电路块。
LD I0.0
(2)指令格式
I0.0 I0.1
( )
OLD OLD
Q0.0
A I0.1
LD I0.2
A I0.3 OLD LDN I0.4
我们用梯形图设计程序基于一些经验,也叫做 经验设计法。 接下来我们要熟练掌握以下梯形图的编程思路, 它们可以为我们今后的编程提供重要的思维方 式。
S7-200PLC教学课件 制作人:安徽机电职业技术学院 白金
① 起保停电路
S7-200PLC教学课件 制作人:安徽机电职业技术学院 白金
[思考]:设计简单两人抢答器,要求A按下按 钮时,A前的灯L1亮。B按下按钮时,B前的 灯L2亮。但A或B任何一方抢到,则剩余的一 方按钮按下无效。主持人按下复位按钮,抢 答可以重新开始。
起动条件 步1 转移条件 步2 转移条件 步3 图 4-2 图
动作
动作
动作 顺序功能流程
西门子sPLC基本指令(比较和表等)
用计数指令实现下述控制过程,其动作时序如 图所示:
当I0.2=ON从1#灯亮到3#灯亮,每灯亮3S。当3#灯亮 完达到1S后又从1#灯亮到3#灯亮如此循环下去。
三电机相隔5s启动,各运行10s停止,循环往复,绘出 三电机一周期运行如图所示
利用计数器与比较指令,设计一个24 小时可设定 定时时间的住宅控制器的控制程序(以30分钟为 一个设定单位),要求实现如下的控制:
AR>= IN1, IN2
OR>= IN1, IN2
指令应用举例
计数器C0的当前值大于或等于1000时,输出线 圈Q0.0通电。
实现如图所示的时序图。
用一个按钮开关(I0.0)控制三个灯(Q0.1,Q0.2, Q0.3),按钮按一下则1#灯亮,再按三下2#灯亮,1# 灯灭。再按三下3#灯亮,2#灯灭。再按三下是3#灯 灭。再按一下又重复前面的工作。时序图如图7所示以 此反复。
从左母线向右以触点开始,以线圈或指令盒结束, 构成一个梯级,触点不能出现在线圈右边 。在一 个梯级中,左右母线之间是一个完整的“电路”, 不允许短路、开路,也不允许“能流”反向流动。
• 梯形图编程的基本规则
在梯形图中与“能流”有关的指令盒或线圈不 能直接接在左母线上,通过触点接。与“能流” 无关的指令盒或线圈直接接在左母线上。如 LBL、SCR、SCRE等。
西门子sPLC基本指令(比较和表 等)
引例
交通灯控中,时间如果不到,则怎么办? 利用多个时间继电器进行不同时间段的控制 如果就用一个时间继电器怎么控制时段呢?
先进行时间继电器工作原理的分析:
I0.0 PT
T37当前值
最大值32767
西门子PLC基本指令表及各指令解释
西门子PLC基本指令表及各指令解释最受欢迎的工控微信平台:技术分享、学习交流、工控视频西门子PLC基本指令表如下图所示名称助记符目标元件说明取指令LD I、Q、M、SM、T、C、V、S、L常开接点逻辑运算起始取反指令LDN I、Q、M、SM、T、C、V、S、L常闭接点逻辑运算起始线圈驱动指令 = Q、M、SM、T、C、V、S、L 驱动线圈的输出与指令 A I、Q、M、SM、T、C、V、S、L单个常开接点的串联与非指令AN I、Q、M、SM、T、C、V、S、L单个常闭接点的串联或指令O I、Q、M、SM、T、C、V、S、L单个常开接点的并联或非指令ON I、Q、M、SM、T、C、V、S、L单个常闭接点的并联置位指令S I、Q、M、SM、T、C、V、S、L使动作保持复位指令R I、Q、M、SM、T、C、V、S、L使保持复位正跳变ED I、Q、M、SM、T、C、V、S、L 输入信号上升沿产生脉冲输出负跳变EU I、Q、M、SM、T、C、V、S、L 输入信号下降沿产生脉冲输出空操作指令NOP 无使步序作空操作一、标准触点LD、A、O、LDN、AN、ONLD,取指令。
表示一个与输入母线相连的常开接点指令,即常开接点逻辑运算起始。
LDN,取反指令。
表示一个与输入母线相连的常闭接点指令,即常闭接点逻辑运算起始。
A,与指令。
用于单个常开接点的串联。
AN,与非指令。
用于单个常闭接点的串联。
O,或指令。
用于单个常开接点的并联。
ON,或非指令。
用于单个常闭接点的并联。
二、正、负跳变ED、EUED,在检测到一个正跳变(从OFF到ON)之后,让能流接通一个扫描周期。
EU,在检测到一个负跳变(从ON到OFF)之后,让能流接通一个扫描周期。
三、输出==,在执行输出指令时,映像寄存器中的指定参数位被接通。
四、置位与复位指令S、RS,执行置位(置1)指令时,从bit或OUT指定的地址参数开始的N个点都被置位。
R,执行复位(置0)指令时,从bit或OUT指定的地址参数开始的N个点都被复位。
西门子PLC常用指令举例(新手值得收藏)
西门子PLC常用指令举例(新手值得收藏)在西门子plc梯形图中,将其触点和线圈等称为程序中的编程元件。
编程元件也称为软元件,是指在plc编程时使用的输入/输出端子所对应的存储区以及内部的存储单元、寄存器等。
根据编程元件的功能,西门子plc梯形图中的常用的编程元件主要有输入继电器(I)、输出继电器(Q)、辅助继电器(M、SM)、定时器(T)、计数器(C)和一些其他较常见的编程元件等。
1、输入继电器(I)的标注西门子PLC梯形图中的输入继电器用“字母I 数字”进行标识,每个输入继电器均与PLC的一个输入端子对应,用于接收外部开关信号。
输入继电器由PLC端子连接的开关部件的通断状态(开关信号)进行驱动,当开关信号闭合时,输入继电器得电,其对应的常开触点闭合,常闭触点断开,如图1所示。
图1 西门子PLC梯形图中的输入继电器2、输出继电器(Q)的标注西门子PLC梯形图中的输出继电器用“字母Q 数字”进行标识,每一个输出继电器均与PLC的一个输出端子对应,用于控制PLC外接的负载。
输出继电器可以由PLC内部输入继电器的触点、其他内部继电器的触点或输出继电器自己的触点来驱动,如图2所示。
图2 西门子PLC梯形图中的输出继电器3、辅助继电器(M、SM)的标注在西门子PLC梯形图中,辅助继电器有两种,一种为通用辅助继电器,一种为特殊标志位辅助继电器。
(1)通用辅助继电器的标注。
通用辅助继电器,又称为内部标志位存储器,如同传统继电器控制系统中的中间继电器,用于存放中间操作状态,或存储其他相关数字,用“字母M 数字”进行标识,如图3所示。
图3 西门子PLC梯形图中的通用辅助继电器由图3可以看到,通用辅助继电器M0.0既不直接接受外部输入信号,也不直接驱动外接负载,它只是作为程序处理的中间环节,起到桥梁的作用。
(2)特殊标志位辅助继电器的标注。
特殊标志位辅助继电器,用“字母SM 数字”标识,如图4所示,通常简称为特殊标志位继电器,它是为保存PLC自身工作状态数据而建立的一种继电器,用于为用户提供一些特殊的控制功能及系统信息,如用于读取程序中设备的状态和运算结果,根据读取信息实现控制需求等。
S7-200系列plc基本指令及逻辑控制应用技术
三组抢答器梯形图:
//儿童组抢得逻辑,除 常闭触点Q1.2, Q1.3外 为基本启-保-停电路
//学生组抢得逻辑,除 常闭触点Q1.1, Q1.3外 为基本启-保-停电路
//教授组抢得逻辑,除 常闭触点Q1.1, Q1.2外 为基本启-保-停电路
//幸运抢得计时
//彩球逻辑,除定时器 T37触电外为基本 启-保-停电路
3) 按下鼓风机停止按钮I0.3, 鼓风机停止工作;
4) 按下引风机停止按钮I0.1, 引风机停止工作;
改进手动顺序起停控制梯形图:
1)把Q0.1的常开触点串联在Q0.2的支路当中, 使Q0.1得电之后,Q0.2才能得电;
2)把Q0.2的常开触点并联在Q0.1的支路当中, 使Q0.2失电之后,Q0.1才能失电;
最大当前值(s) 32.767 327.67 3276.7 32.767 327.67 3276.7
定时器号 T32,T96 T33-T36,T97-T100 T37-T63,T101-T225 T0,T64 T1-T4,T65-T68 T5-T31,T69-T95
定时时间的计算:T=PT×S(T为实际定时时间, PT为预设值,S为精度等级).
输入端口
输出端口
正向启动按钮:I0.0 停止按钮:I0.1
反向启动按钮:I0.2 正向限位开关:I0.3 反向限位开关:I0.4
正向运行控制 : Q0.0 反向运行控制: Q0.1
其他器件
自动往复限位控制梯形图:
自动往复限位控制带延时梯形图:
• 交流异步电动机Y-△降压起动PLC控制:
控制要求:一般大于7.5KW的交流异步电动机,在启动时常采用Y- △ 降压起动。要求按下启动按钮之后,电动机先进行星形连接启动,经 延时5s后,自动切换到三角形连接运转,按下停止按钮后,电动机停 止运转。
西门子1200PLC基本指令使用及应用方法教案课件PPT
4.特别提醒
不能重复
不能重复
不能重复
定时器及其应用1
2.4 定时器指令——定时器的基本功能 1/2 使用定时器指令可创建编程的时间延迟,S7-1200 PLC有4种定 时器:
●TP: 脉冲定时器可生成具有预设宽度时间的脉冲。
●TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。
2.4 定时器指令——定时器的输入输出参数 2/4
参数 IN R PT (Preset Time) Q
ET (Elapsed Time)
定时器数据块
数据类型 Bool Bool Bool Bool
Time
DB
说明 启用定时器输入 将 TONR 经过的时间重置为零 预设的时间值输入 定时器输出
经过的时间值输出
S7-1200 PLC程序 上载(上传)
1.实验前准备
1. 将PLC与计算机用网线连接。 2. PLC上电,打开计算的TIA Portal软件。
2.新建一个空项目
3.上载程序
RS/SR触发器指令 及其应用
1.RS/SR触发器指令
S在后面是 置位优先
RS/SR触发器指令
(1) RS(置位优先):复位/置位触发器。
两条运输带顺序相连,为避免运送的物料在1号运输带上堆 积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。 停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带, 8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。
I0.3
M2.3
Q0.6
8s
Q1.1
I0.2 8s
定时器及其应用2
操作 数1
操作 数2
RLO (a)梯形图
西门子PLC常用的功能指令
1、串联电路块的并联连接指令OLD两个或两个以上的接点串联连接的电路叫串联电路块。
串联电路块并联连接时,分支开始用LD、LDN指令,分支结束用OLD指令。
OLD指令与后述的ALD指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。
OLD有时也简称或块指令。
2、并联电路的串联连接指令ALD两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用ALD指令。
分支的起点用LD、LDN指令,并联电路结束后,使用ALD指令与前面电路串联。
ALD指令也简称与块指令,ALD也是无操作目标元件,是一个程序步指令。
3、输出指令=1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。
4、置位与复位指令S、RS为置位指令,使动作保持;R为复位指令,使操作保持复位。
从指定的位置开始的N个点的寄存器都被置位或复位,N=1~255如果被指定复位的是定时器位或计数器位,将清除定时器或计数器的当前值。
5、跳变触点EU,ED正跳变触点检测到一次正跳变(触点的入信号由0到1)时,或负跳变触点检测到一次负跳变(触点的入信号由1到0)时,触点接通到一个扫描周期。
正/负跳变的符号为EU和ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
西门子PLC指令教程 应用指令
•第5章 应用指令
LD CALL
I0.0
//装入常开触点
SBR_0,I0.2,VB20,VD30// //调用子程序SBR_0
//含有3个参数:
//分别为布尔、字节
//和双字型
•图5.5 带参数的子程序调用
返回本节
•第5章 应用指令
5.1.6 程序循环
1. 循环开始 2. 循环结束 3. 3. 程序实例
•图5.8 与ENO指令
返回本节
•第5章 应用指令
5.2 特殊指令
5.2.1 时钟指令 5.2.2 中断 5.2.3 通信 5.2.4 高速计数 5.2.5 高速脉冲输出 5.2.6 PID回路指令
返回本章首页
•第5章 应用指令
5.2.1 时钟指令
1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时, 系统读当前时间和日期,并把它装入一个8字节 的缓冲区。
程序如图5.7所 示。
L S C R S 0.5
//由 S0.5 控 制 的 //顺 序 步 的 开 始 //
LD
S M 0.0
S
Q 1.2, 2
TON T50, +200
//装 入 常 开 触 点 //将 Q 1.2 和 Q 1.3 //置 1 //通 电 延 时 //本 步 的 持 续 时 间 //为 20s
返回本章首页
•第5章 应用指令
5.1.1 空操作
NOP,空操作指令。使能输入有效时,执行空操作指 令。空操作指令不影响用户程序的执行,操作数N是标 号,是一个0~255的常数。 指令格式: NOP N 例: NOP 30 程序如下图5.1所示。
L D I0 .0 N O P 3 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•图5.10 中断调用程序
•第5章 应用指令
3. 中断程序 (1)构成 中断程序必须由三部分构成:中断程序标号、 中断程序指令和无条件返回指令。 (2)要求 (3)编制方法 (4)注意事项
返回本节
•第5章 应用指令
5.2.3 通信
通信指令包括: XMT,自由口发送指令 RCV,自由口接收指令 NETR,网络读指令 NETW,网络写指令 GPA,获取口地址指令
2. 写实时时钟 TODW,写实时时钟指令。用来设定实时时钟。 当使能输入有效时,系统将包含当前时间和日 期,一个8字节的缓冲区将装入时钟。
•第5章 应用指令
时钟缓冲区的格式如表5.2所示。
•表5.2 时钟缓冲区
•第5章 应用指令
程序实例 控制要求: 编写一段程序,可实现读、写实时时钟,并以BCD码显示分钟。时 钟缓冲区从VB100开始。 程序中的子程序SBR_0为写时钟子程序,将当前时间写入从VB100 开始的8字节时间缓冲区,时间设置如下表5.3所示。程序实现:读 写时钟程序如图5.9所示。
//使能输入 //调用子程序 //SBR_1
•图5.4 子程序调用举例
•第5章 应用指令
3. 带参数的子程序调用
(1)子程序参数 ➢变量名 ➢变量类型 ➢数据类型 (2)参数子程序调用的规则 (3)变量表使用 (4)程序实例
•第5章 应用指令
以上面指令为例,局部变量表分配如表5.1所示, 程序段如图5.5所示。
LD CALL
I0.0 SBR_0
//使 能 输 入 //调 用 子 程 序 0 //本 梯 级 为 二 级 //循 环 体 的 功 能 段
NEXT
//循 环 结 束 指 令
LD IN C W
SM 0.0 VW 100
//使 能 输 入 //字 增 指 令 //每 执 行 一 次 一 级 //循 环 体 , V W 100 //的 值 增 1
NEXT
//循 环 结 束 指 令
•图5.6 程序循环(2)
返回本节
•第5章 应用指令
5.1.7 顺序控制继电器
1. 顺序继电器指令 (1)定义顺序段(2)段开始 (3)段结束 (4)段转移 2. 注意事项 3. 顺序结构 4. 程序实例
•第5章 应用指令
本例是用顺序 继电器实现的 顺序控制中的 一个步的程序 段,这一步实 现的功能是使 两个电机M1和 M2起动运行20 秒后停止,切 换到下一步。
•第5章 应用指令
LD EU CALL
LD TODR
MOVB
I0.4
//装入触点
//上跳沿触发
SBR_0 //调用子程序
//子程序 SBR_0
//作用为写时钟
SM0.0 //运行有效
VB100 // 从 VB100
//读时钟值
//
//
VB104, QB0 //传送指令
//将分钟值 //从 QB0 输出
指令格式:AENO(无操作数)
•第5章 应用指令
•AENO指令只能在语句表中使用,将栈顶值和 ENO位的逻辑与运算,运算结果保存到栈顶。程 序如图5.8所示。
LD +I AENO ATCH
I0.0 VW200, VW204
INT_0, 10
//使能输入 //整数加法指令,VW200+VW204=VW204 //与ENO指令,判断整数加法指令执行是否出错 //如果加法指令执行正确,则调用中断程序INT_0 //中断事件号为10
INT_1, 2
//中 断 调 用 //中 断 程 序 //为 IN T_1 //事 件 号 为 2 //全 局 开 中 断 //
LD DTCH
SM 5.0 2
//检 查 I/O 错 //若 I/O 有 错 //断 开 本 中 //断 连 接
LD
I0.5
D IS I
//外 部 条 件 //全 局 中 断
返回本章首页
•第5章 应用指令
5.1.1 空操作
NOP,空操作指令。使能输入有效时,执行空操作指 令。空操作指令不影响用户程序的执行,操作数N是标 号,是一个0~255的常数。 指令格式: NOP N 例: NOP 30 程序如下图5.1所示。
L D I0 .0 N O P 3 0
//使 能 输 入 //空 操 作 指 令 //标 号 为 3 0
指令格式:STOP
(无操作数)
返回本节
•第5章 应用指令
5.1.3 看门狗
WDR,看门狗复位指令。当使能输入有效时, 执行WDR指令,每执行一次,看门狗定时器就 被复位一次。用本指令可用以延长扫描周期, 从而可以有效避免看门狗超时错误。
指令格式:WDR
(无操作数)
程序实例:指令STOP、END、WDR的应用如 图5.2所示。
入MEND指令,而是由软件自动加在主程序结
尾。指令格式:END
(无操作数)
•第5章 应用指令
2. 暂停指令
STOP,暂停指令。使能输入有效时,该 指令使主机CPU的工作方式由RUN切换 到STOP方式,从而立即终止用户程序的 执行。
STOP指令在梯形图中以线圈形式编程。 指令不含操作数。指令的执行不考虑对特 殊标志寄存器位和能流的影响。
返回本节
•第5章 应用指令
5.1.2 结束及暂停
1. 结束指令
结束指令有两条:END和MEND。两条指令在 梯形图中以线圈形式编程。
END,条件结束指令。使能输入有效时,终 止用户主程序。
MEND无条件结束指令。无条件终止用户程序 的执行,返回主程序的第一条指令。
用Micro/Win32编程时,编程人员不需手工输
10
//标 志 程 序 段
LD
I0.3
//
S
Q 1.0 , 3 //把 从 Q 1.0 开 始 的
//3 个 输 出 点 置 1
• 5.3
图 程 序 跳 转 实 例
•第5章 应用指令
5.1.5 子程序指令
1. 建立子程序 2. 2. 子程序调用 3. 带参数的子程序调用
•第5章 应用指令
1. 建立子程序
•图5.9 读写时钟
返回本节
•第5章 应用指令
5.2.2 中断
1. 中断源 (1)中断源及种类 中断源,即中断事件发出中断请求的来源。S7200可编程序控制器具有最多可达34个中断源, 每个中断源都分配一个编号用以识别,称为中 断事件号。这些中断源大致分为三大类:通信 中断、输入输出中断和时基中断。
LD WDR
A
M 0.4
I0.2
//用 触 点 重 新 触 发 //看 门 狗 定 时 器
//
•图5.2 停止、结束、看门狗指令
返回本节
•第5章 应用指令
5.1.4 跳转
1. 跳转指令 与跳转相关的指令有下面两条: (1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到 同一程序中的指定标号n处执行。执行跳转指令时,逻 辑堆栈的栈顶值总是1。 (2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳 转到的目的位置。操作数n为0~255的字型数据。
•第5章 应用指令
2. 子程序调用
(1)子程序调用和返回指令 ➢ 子程序调用 ➢子程序条件返回
(2)注意事项 (3)应用实例
•第5章 应用指令
图5.4所示的程序实现用外部控制条件分别调用 两个子程序。
LD
I0.0
CALL S2
//使能输入 //调用子程序S2 //
LD CALL
I0.0 SBR_1
•第5章 应用指令
5.2.4 高速计数
1. 高速计数器介绍 2. 高速计数指令 3. 高速计数器的使用方法 4. 应用实例
•第5章 应用指令
程序实例: 如右图5.3所示。用增减计数器进行计数, 如果当前值小于500,则程序按原顺序执 行,若当前值超过500,则跳转到从标号 10开始的程序执行。
返回本节
•第5章 应用指令
LD LD LD CTUD
I0.0
//增 计 数 输 入 端
I0.1
//减 计 数 输 入 端
I0.2
•图5.8 与ENO指令
返回本节
•第5章 应用指令
5.2 特殊指令
5.2.1 时钟指令 5.2.2 中断 5.2.3 通信 5.2.4 高速计数 5.2.5 高速脉冲输出 5.2.6 PID回路指令
返回本章首页
•第5章 应用指令
5.2.1 时钟指令
1. 读实时时钟 TODR,读实时时钟指令。当使能输入有效时, 系统读当前时间和日期,并把它装入一个8字节 的缓冲区。
•第5章 应用指令
LD O O STOP
SM 5.0 SM 4.3 I0.3
LD
I0.5
END
//检 查 I/O 错 误 //运 行 时 刻 检 查 编 程 //外 部 切 换 开 关 //条 件 满 足 , 由 RUN // 切 换 到 STOP 方 式 // // //外 部 停 止 控 制 //停 止 程 序 执 行 // //
•第5章 应用指令
(2)中断优先级 中断优先级由高到低依次是:通信中断、输入 输出中断、时基中断。每种中断中的不同中断 事件又有不同的优先权。 主机中的所有中断事件及优先级如表5.4所示。
•第5章 应用指令
•表5.4 中断事件及优先级
•第5章 应用指令
•第5章 应用指令
2. 中断调用 即调用中断程序,使系统对特殊的内部或外部 事件作出响应。系统响应中断时自动保存逻辑 堆栈、累加器和某些特殊标志存储器位,即保 护现场。中断处理完成时,又自动恢复这些单 元原来的状态,即恢复现场。
•第5章 应用指令