资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
S7 200PLC指令系统 第五章 PLC梯形图语言的编程原则 1 梯形图由多个梯级组成 每个线圈可构成一个梯级 每个梯级有多条支路 每个梯级代表一个逻辑方程 2 梯形图中的继电器继电器 接点 线圈不是物理的 是PLC存储器中的位 1 ON 0 OFF 编程时常开 常闭接点可无限次引用 线圈输出只能是一次 3 梯形图中流过的不是物理电流而是 概念电流 只能从左向右流 4 用户程序的运算是根据PLC的输入 输出映象寄存器中的内容 逻辑运算结果可以立即被后面的程序使用 5 PLC的内部继电器不能做控制用 只能存放逻辑控制的中间状态 6 输出线圈不能直接驱动现场的执行元件 通过I O模块上的功率器件来驱动 指令分类 按形式分 2 功能块 1 继电器 触点 线圈 Enable 输入参数 IN1 IN2 N 输出参数 OUT 功能数据类型 地址 条件 长度 EN 指令分类 按功能分 1 位操作功能2 定时器 计数器3 算术运算功能4 关系运算功能5 数据传送功能6 转换功能7 控制功能 一 基本逻辑指令 逻辑关系梯形图助记符 I0 0 I0 1 LDI0 0AI0 1 Q0 0 LDI0 0OI0 1 Q0 0 LDNI0 1 Q0 0 AND OR NOT 当I0 0与I0 1都 ON 时 则输出Q0 0 ON 1 当I0 0或I0 0 ON 时 则输出Y0 ON 1 当I0 1 OFF 时则输出Q0 0 ON 1 Q0 0 I0 0 I0 1 Q0 0 Q0 0 I0 1 I0 0 I0 1 Q0 0 注意 与 或 非运算均是对从该指令前面的ST指令到该指令的前一个指令处的结果进行运算 X2是与图中A点处的结果 即X0与X1的结果 相或 而不是与X1相或 Y0 逻辑关系梯形图助记符 LDX0OX1LDX2OX3ALD Y0 LDX0AX1LDX2ANX3OLD Y0 当 X0或X1 与 X2或X3 都 ON 时 则输出Y0 ON ALD AndStack OLD OrStack 当 X0与X1 或 X2与X3非 ON 时 则输出Y0 ON Y0 X0 X2 X1 X3 Y0 例1 直接启动停车控制 继电器控制电路图 I O分配 I0 0 停车I0 1 启动Q0 1 KM 梯形图 语句表LDI0 1OQ0 0AI0 0 Q0 0 启动优先 停止优先 I O分配决定PLC的端子接线图 PLC的端子接线方式又决定编程语言 I O分配 I0 0 停车I0 1 启动Q0 1 KM Q0 0 I0 0 Q0 0 I0 1 置位 复位指令 立即I O指令 立即输入 直接读取物理输入点的值 输入映象寄存器内容不更新 指令操作数仅限于输入物理点的值 立即I O指令 立即输出 执行立即输出指令时 则将结果同时立即复制到物理输出点和相应的输出映象寄存器 立即I O指令 立即置位和复位指令 须指出 立即I O指令是直接访问物理输入输出点的 比一般指令访问输入输出映象寄存器占用CPU时间要长 因而不能盲目地使用立即指令 否则 会加长扫描周期时间 反而对系统造成不利影响 空操作 正跳变 负跳变 能流到达取非触点时 能流就停止 能流未到达取非触点时 能流就通过 检测到每一次正跳变 信号后 让能流通过一个扫描周期的时间 检测到每一次负跳变信号后 让能流通过一个扫描周期的时间 取非 输入映象寄存器I0 0 输出映象寄存器Q0 0 输出映象寄存器Q0 1 输出映象寄存器Q0 2 一个周期 一个周期 空操作指令 NOPN 不影响程序的执行 操作数N是常数0 255 编程中应注意的几个问题 X0 Y0 X1 Y0 X1 Y0 X0 Y0 一 用电路变换简化程序 减少指令的条数 二 逻辑关系应尽量清楚 避免左轻右重 X3 X2 X5 X4 X6 X8 X7 Y0 X9 X3 X2 X5 X4 X6 X8 X7 Y0 X9 X5 X6 X2 X2 LDX2ANX3AX4LDX2AX5ANX6AX7 LDX2AX5ANX6AX8ANX9OLD Y0ED 三 避免出现无法编程的梯形图 X5 X1 X3 X2 Y1 X4 Y2 LDX3AX5OX1ANX2 Y1LDX1AX5OX3ANX4 Y2ED 2 定时器及定时器指令 输入接点 设定值 1 32767 定时器号码 0 255 IN PT T37 TON 定时器分辨率 时基 有三种 1ms 10ms 100ms 定时器的分辨率由定时器号决定 定时器的实际设定时间T 设定值PT 分辨率 TS 1200 0 1 120S 延时接通定时器TON 其工作波形图如下 I0 1 Q0 1 计时值 设定值 TS T38 TON PT IN I0 1 120 T38 Q0 1 延时断开定时器TOF 其工作波形图如下 I0 1 Q0 1 计时值 设定值 TS 设定值 使能输入 TOF PT IN T38 TOF PT IN I0 1 120 T38 T38 Q0 1 TS 1200 0 1 120S 保持型定时器TONR 其工作波形图如下 输入端 Q0 1 当前值 设定值 TS TS 120 10ms T4 M0 1 TONR PT IN I0 1 120 T4 T4 Q0 1 最大值 32767 120 1ms分辩率定时器每隔1ms刷新一次 刷新定时器位和定时器当前值 在一个扫描周期中要刷新多次 而不和扫描周期同步 10ms分辩率定时器10ms分辩率定时器启动后 定时器对10ms时间间隔进行计时 程序执行时 在每次扫描周期的开始对10ms定时器刷新 在一个扫描周期内定时器位和定时器当前值保持不变 100ms分辨率定时器100ms定时器启动后 定时器对100ms时间间隔进行计时 只有在定时器指令执行时 100ms定时器的当前值才被刷新 自复位式的定时器 T33 T33 T33 错误 正确 2 计数器指令 定时器是对PLC内部的时钟脉冲进行计数 而计数器是对外部的或由程序产生的计数脉冲进行计数 当前值 计数器累计计数的当前值 16位有符号整数 它存放在计数器的16位 bit 当前值寄存器中 每个计数器只有一个16位的当前值寄存器地址 在一个程序中 同一计数器号不要重复使用 更不可分配给几个不同类型的计数器 增计数器 设定值 32768 32767 CU PV C20 CTU R 复位 计脉冲数 增 减计数器 增计数 减计数 复位 C 0 255 当前值 减计数器 CU PV C 0 255 CTD LD 复位 装设定值 计脉冲数 2 1 计数器当前值等于0时 停止计数 同时计数器位被置位 1 设定值 例5 计数器应用举例 产品数量检测 每24个产品机械手动作1次 机械手动作后 延时2秒 将机械手电磁铁切断 同时将CT100复位 CT100复位后 Y1和TM1也复位 电机起动后 R1产生宽度为一个扫描周期的正脉冲 使C20和T37复位 起 停传送带电机 计数器应用举例 产品数量检测 Q0 0 Q0 0 I0 2 24 C20 T37 20 C20 Q0 1 每检测到一个产品 X2产生一个正脉冲 使C20计一个数 C20每计24个数 机械手动作一次 机械手动作后 延时2秒 将机械手电磁铁切断 同时将C20复位 C20复位后 Q0 1和T37也复位 I0 0 I0 1 C20 IN PT TON T37 T37 P Q0 0 移位寄存器指令 L D I 0 1 E U S H R B I 0 2 V 1 0 0 4 一 传送指令 数据传送指令 数据块传送指令 数据块传送指令把从输入 IN 指定地址的N个连续字节 字 双字的内容传送到从输出 OUT 指定地址开始的N个连续字节 字 双字的存储单元中去 传送字节立即读 写指令 传送字节立即写 BIW 指令 将从输入端 IN 指定字节地址的内容写入输出端 OUT 指定字节地址的物理输出点 QB 传送字节立即读 BIR 指令 读取输入端 IN 指定字节地址的物理输入点 IB 的值 并写入输出端 OUT 指定字节地址的存储单元中 二 数学运算指令 1 加法指令 IIN2 OUT DIN2 OUT RIN2 OUT 2 加法指令 整数加法 减法 乘法 除法 双整数加法 减法 乘法 除法 整数完全乘法 除法 实数加法 减法 乘法 除法 3 乘法指令 4 除法指令 整数完全除法指令 把输入端 IN 指定的两个16位整数相除 产生一个32位结果 并送到输出端 OUT 指定的存储单元中去 其中高16位是余数 低16位是商 三 转换指令 BCD码转为整数 BCDI 指令 将输入端 IN 指定的BCD码转换成整数 并将结果存放到输出端 OUT 指定的存储单元中去 输入数据的范围是0到9999 BCD码 整数转为BCD码 IBCD 指令 将输入端 IN 指定的整数转换成BCD码 并将结果存放到输出端 OUT 指定的存储单元中去 输入数据的范围是0到9999 指令影响的特殊存储器位 SM1 6 非法BCD 无符号操作 1 BCD码与整数的转换 2 双字整数与实数的转换 双字整数转换为实数 双字整数转换为实数 实数转换为双字整数 双字整数转为实数 DTR 指令 将输入端 IN 指定的32位有符号整数转换成32位实数ROUND取整指令 转换时实数的小数部分四舍五入 TRUNC取整指令 实数舍去小数部分后 转换成32位有符号整数 实数转为双字整数指令可分为四舍五入取整 ROUND 和舍去尾数后取整 TRUNC 指令 取整指令被转换的输入值应是有效的实数 如果实数值太大 使输出无法表示 那末溢出位 SM1 1 被置位 3 双整数与整数的转换 输入端 IN 的有符号双整数转换成整数 并存入OUT 被转换的输入值应是有效的双整数 否则溢出位 SM1 1 被置位 欲将整数转换为实数 可先用ITD指令把整数转换为双整数 然后再用DTR指令把双整数转换为实数 例 101 C10 英寸 此课件下载可自行编辑修改 供参考 感谢您的支持 我们努力做得更好
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号