西门子plc编程_第1页
西门子plc编程_第2页
西门子plc编程_第3页
西门子plc编程_第4页
西门子plc编程_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西门子西门子plc编程编程 授课人:肖才丁授课人:肖才丁 2010.3 一、状态故障判断 nsf(系统出错/故障显示,红色):cpu硬件故障或软件错误时亮。 nbatf(电池故障,红色):电池电压低或没有电池时亮。 ndc5v(+5v电源指示,绿色):5v电源正常时亮。 nfrce(强制,黄色):至少有一个i/o被强制时亮。 nrun(运行方式,绿色):cpu处于run状态时亮;重新启动时以2hz 的频率闪亮;hold(单步、断点)状态时以0.5hz的频率闪亮。 nstop(停止方式,黄色):cpu处于stop,hold状态或重新启动时 常亮。 nbusf(总线错误,红色)。 二、模式选择开关

2、 nrun-p(运行-编程)位置:运行时还可以读出和修改用户程序,改 变运行方式。 nrun(运行)位置:cpu执行、读出用户程序,但是不能修改用户程 序。 nstop(停止)位置:不执行用户程序,可以读出和修改用户程序。 nmres(清除存储器):不能保持。将钥匙开关从stop状态扳到 mres位置,可复位存储器,使cpu回到初始状态。 三、复位存储器: 通电后从stop位置扳到mres位置,“stop” led熄灭1s,亮 1s,再熄灭1s后保持亮。放开开关,使它回到stop位置,然后又回 到mres,“stop” led以2hz的频率至少闪动3s,表示正在执行复 位,最后“stop” l

3、ed一直亮。 第二章第二章 plc编程基础编程基础 一、快速认识西门子plc 例如,有两个开关例如,有两个开关k1、k2。控制要求,只有两个开关都接通时小灯。控制要求,只有两个开关都接通时小灯d1 才亮。当才亮。当d1亮秒钟后亮秒钟后 小灯小灯d2开始亮。当开关开始亮。当开关 k3切断时两个小灯就同切断时两个小灯就同 时熄灭。时熄灭。 1) 接线程序控制接线程序控制 2)存贮程序控制)存贮程序控制 (plc控制)控制) 二、 s7-300/400软件基础 2.1 s7-300的数据环境的数据环境 1 数据类型数据类型 位位 bool 例:例: true 或或 false (1 或或0) 字节字

4、节 byte 例:例: b#16#0ff 字字 word 例:例: w#16#0 ffff 双字双字 dword 例:例:dw#16#0ffff_ffff 整数整数 int 例:例:-3276832767 双整数双整数 dint 例:例:-214783648 214783647 实数实数 real 例:例: 1.2 或或 34.5e-12 时间时间 s5time 例:例:s5t#2h5m (时基时基 10ms) 字符字符 char 例:例:a 日期日期时间时间 time_of_day 例:例:tod#12:23:45.12 时间时间 time 例:例:t#20h_31m_23s (时基时基 1

5、ms) 日期日期 date 例:例:d#1990-1-1 (时基时基 1天天) n说明:说明: ns5time 为 simatic时间 n 范围 s5t#0h_0m_0s_10ms n s5t#2h_46m_39s_0ms ntime为 iec时间 n 范围 t#0 0 0 . 0 n t#23 59 59.999 ntime-of-day 为 日计时 n 范围 tod#0:0:0.0 n tod#23:59:59.999 2 过程映象 字节 0 字节 1 字节 2 : : : cpu 存储器区 字节 0 字节 1 字节 2 : : : piipiq 用户程序 cpu 存储器区 : : a i

6、2.0 = q4.3 : : : : 1 1 pscpusmsmsmsmsmsmsm模块 12 4 5 6 7 8 9 10槽号 地址 0.0 地址 0.7 地址 1.0 地址 1.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.

7、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 设计的地址区设计的地址区 访问区域访问区域 缩写缩写 加在一起的最大区域加在一起的最大区域 数据块数据块 数据块 (db) db 0 - 65,535 数据块数据块

8、用opn db打开 位 dbx 0.0 - 65,535.7 字节 dbb 0 - 65,535 字 dbw 0 - 65,534 双字 dbd 0 - 65,532 用opn di打开 位 dix 0.0 - 65,535.7 字节 dib 0 - 65,535 字 diw 0 - 65,534 双字 did 0 - 65,532 说明:db块包含由任意一个块存取的数据块包含由任意一个块存取的数据.db块用块用“opn db”打开打开. di块用于存取与块用于存取与fb和和sfb块的数据块的数据. di块用块用“opn di” 打开打开. s7同时只能识别一个同时只能识别一个db块和一个块和

9、一个di块的数据块的数据. 2.2 逻辑操作指令 1. 位逻辑指令 (1)基本逻辑指令:与, 或 (2)基本逻辑指令:异或 (xor) 异或 (xor)指令练习: (3)常开和常闭触点,传感器和符号 常开常闭触点练习 与或非操作练习 (4)赋值,置位,复位 置位复位操作练习 (5)触发器的置位 / 复位 置位复位触发器练习 (6)中间输出操作 lad i 1.0i 1.1 ( ) m0.0i 2.0i 2.1 ( ) m 1.1 not( ) q 4.0 ai1.0 ai1.1 =m 0.0 am 0.0 ai2.0 ai2.1 not =m 1.1 am 1.1 =q 4.0 stl i 1

10、.0 i 1.1 & & i 2.0 i 2.1 m0.0 m1.1q 4.0 = fbd 中间输出操作练习 (7) rlo - 边沿检测 (检测确 i1.0与i1.1的边沿) p i1.0i1.1m1.0m8.0 n i1.0i1.1m1.1m8.1 lad i1.0 i1.1p= & m1.0 m8.0 i1.0 i1.1n= & m1.1 m8.1 fbd ai1.0 ai1.1 fpm1.0 =m8.0 a i 1.0 ai 1.1 fnm1.1 =m8.1 stl i1.0 i1.1 rlo m1.0 m8.0 m8.1 m1.1 ob1-循环 例如 (8)信号 - 边沿检测 (i1

11、.0=1 时 检测 i1.1的边沿) i1.1 = m8.0 pos m_bitm1.0 & i1.0 i1.1 = m8.1 neg m_bitm1.1 & i1.0 fbd ai1.0 a ( a i1.1 fp m1.0 ) = m8.0 ai1.0 a( ai1.1 fn m1.1 ) = m8.1 stl i1.1 m8.0 pos m_bitm1.0 q i1.0 i1.1 m8.1 neg m_bitm1.1 q i1.0 lad 例如 i1.0 i1.1 m1.0 m8.0 m8.1 m1.1 ob1-周期 2 计数器线圈操作 加计数线圈cu 减计数线圈cd i0.0为置数脉冲

12、 i0.1为加计数脉冲 i0.2为减计数脉冲 cv=0时 c5=off cv0时 c5=on q0.5=c5 i1.0 =on时,i0.0=on时cv=10。 i0.1脉冲使计数加1 i0.2脉冲使计数减1 3 计时器线圈操作 脉冲计时器( sp ) i1.0 =on时 扩展脉冲计时器( se ) i1.0 =on时 计时器的数据格式: 开通延时计时器( sd ) i1.0 =on时 保持型开通延时计时器( ss ) i1.0 =on时 关断延时计时器( sf ) i1.0 =on时 5.3 程序控制指令 (1)主控继电器功能 主控继电器(主控继电器(mcr)是梯形逻辑主控开关,控制信)是梯形

13、逻辑主控开关,控制信 号流的通断。号流的通断。 主控继电器的启动指令(主控继电器的启动指令(mcra) 主控继电器的开通指令(主控继电器的开通指令(mcr) 主控继电器的停止指令(主控继电器的停止指令(mcrd) 主控继电器的例子1 i0.0=on 执行“mcr” 之间的指令。 i0.0=off 不执行“mcr” 之间的指令。 其中置位信号不变, 赋值信号被复位。 主控继电器的例子2 (2)无条件跳转指令 (3)条件跳转指令 跳转指令练习 (跳过之处不扫描跳过之处不扫描) 2.4 传送和比较指令传送和比较指令 传送指令传送指令 字节,字,双字字节,字,双字传送。传送。 比较指令比较指令 整数,

14、双整数,实数比较。整数,双整数,实数比较。 比较符比较符: eq_i, ne_i, gt_i, lt_i, ge_i, le_i. eq_d, ne_d, gt_d, lt_d, ge_d, le_d. eq_r, ne_r, gt_r, lt_r, ge_r, le_r. 2.5 运算指令运算指令 整数运算整数运算 运算符:运算符: add_i. sub_i. mul_i. div_i. add_di. sub_di. mul_di. div_di, mod_di. 实数运算实数运算 运算符:运算符: add_r. sub_r. mul_r. div_r. sin, cos,tan, asi

15、n, acos, atan,ln, exp 2.6 转换指令 bcd码与整数转换 bcd_i把通道中 的bcd码转换为整数存 入通道中。 i_ bcd把通道中的 整数转换为bcd码存入 通道中。 双整数与实数转换 di _r round bcd_di, di _ bcd , i _ di , di _i 。 2.7 计数器指令 双向计数器 i0.0为加计数脉冲 i0.1为减计数脉冲 i0.2为置数脉冲 i0.3为复位脉冲 cv0时,c0=on。 向上计数器 i0.0为加计数脉冲 i0.1为置数脉冲 i0.2为复位脉冲 cv0时,c0=on。 向下计数器 i0.3为减计数脉冲 i0.4为置数脉冲

16、 i0.5为复位脉冲 cv0时,c0=on。 说明:说明: 梯形图中cv为用十六进制表示的计数器的当前值。 梯形图中cv_ bcd为用bcd码表示的计数器的当前值。 梯形图中的pv值可以用bcd码表示的数值由通道送入。 2.8 计时器指令 脉冲计时器(sp) 扩展脉冲计时器(se) 开通延时计时器(sd) 保持型开通延时计时器(ss) 关断延时计时器(sf) 说明:说明: 梯形图中bi为用十六进制表示的计数器的当前值。 梯形图中 bcd为用bcd码表示的计数器的当前值。 梯形图中的tv值可以用bcd码表示的数值由通道送入。 2.9 块操作指令 1 温度控制(s7-pro1) 说明:检测温度在p

17、iw256中,显示在pqw368中。 温控1的温度保持在82,控制器为q 0.0 。 温控2的温度保持在182,控制器为q 0.1 。 设计:ob1为主程序,负责调用控制程序fc1。 db1和db2为通用数据块。 其中db1为温控1的控制参数数据块。 db2为温控2的控制参数数据块。 db块: db1 db2 fc块: fc1 ob块: ob1 运行仿真: 温控1控制仿真 温控2控制仿真 2 温度控制(s7-pro2) 说明:检测温度在piw256中,显示在pqw368中。 温控1的温度保持在82,控制器为q 0.0 。 温控2的温度保持在182,控制器为q 0.1 。 设计:ob1为主程序,

18、负责调用控制程序fb1。 db1和db2为fb1型数据块。 其中db1为温控1的控制参数数据块。 db2为温控2的控制参数数据块。 fb块: fb1 db块: db1 db2 ob块: ob1 运行仿真: 温控1控制仿真 温控2控制仿真 3温度控制(s7-pro3) 说明:检测温度在piw256中,显示在pqw368中。 温控1的温度保持在82,控制器为q 0.0 。 温控2的温度保持在182,控制器为q 0.2 。 温控3的温度保持在282,控制器为q 0.4 。 设计:ob1为主程序,负责调用控制程序fb1和fc1。 db1和db2为fb1型数据块。 其中db1为温控1的控制参数数据块。

19、db2为温控2的控制参数数据块。 db3为通用数据块,为温控3的控制参数。 fb1控制温度1,2。fc1控制温度3 。 fc块: fc1 fb块: fb1 db块: db1 db2 db3 ob块: ob1 ob1续 运行仿真: i0.0,i0.1=on: piw25610 q0.0=off. i0.2,i0.3=on: piw25620 q0.2=off. i0.3,i0.4=on: piw25630 q0.4=off. 4 计时器计数器与数据块(s7-pro10) 说明:计时器,计数器的数据在数据块中的存取的实现。 计时器t0与t1组成一个振荡器。振荡的次数由计数器记 录。 设计:ob1为

20、运行程序,db1为存取数据块。 db块: db1 ob块: ob1 计时器数据格式: ob1续 运行仿真: 5 占空比可调的时间震荡器(s7-pro26) 运行仿真: 6 循环中断ob35 (s7-pro21) 在项目中添加ob35 进入ob35编写中断程序 在plc中设定循环中断有效 进入ob1 编写主程序 程序下载到 plc(或仿真器) 运行 第三章第三章 plc程序设计程序设计 (开关量设计)(开关量设计) 1.开关量控制系统设计方法举例 (1)(1)机械手控制系统线性程序设计机械手控制系统线性程序设计 控制要求: 机械手一个循 环周期可分为 八步。 控制方式: 自动、单动和 手动。 下

21、面讨论自动 控制过程。 硬件选择硬件选择 硬件接线原理图 由逻辑流程图设计程序 由时序流程图设计程序 由时序流程图来设计程序,首先要把整个工程的各个任务分成多 个时序,在不同的时序中完成不同的任务。 例如本例子 中可分成8 个时序。用 m1.0、m1.1 m1.7分别 表述各个时 序的特征位。 当m1.o=1时 为机械手下 降1时序, m1.1为机械 手抓紧时序等。 线性结构软件设计(s7-pr23) ob1块 ob1续 ob1续 ob1续 ob1续 ob1续 运行仿真 i0.4=1 i0.6=1 i1.5=1 i0.0=1 q0.0=1 降1 i0.4=0 i0.5=1 q0.0=0 q0.

22、4=1 t1=1 q0.1=1 升1 i0.5=0 i0.4=1 q0.1=0 q0.2=1 右 i0.6=0 i0.7=1 q0.2=0 q0.0=1 降2 i0.4=0 i0.5=1 q0.0=0 q0.4=0 t2=1 q0.1=1 升2 i0.5=0 i0.4=1 q0.1=0 q0.3=1 左 i0.7=0 i0.6=1 q0.3=0 (2 2)搅拌控制系统线性程序设计)搅拌控制系统线性程序设计 初始状态及 操作工艺 硬件设计 内存变量分配表 线性结构软件设计(s7-pro8) ob1块 ob1续 ob1续 系统仿真 i0.0=on i0.4=off q4.0=on i0.3=on

23、q4.0=off q4.1=on i0.2=on q4.1=off q4.2=off t1 t1=on q4.2=off q4.3=on i0.4=off t2 t2=on q4.3=off (3 3)搅拌控制系统分块结构搅拌控制系统分块结构软软件设计(件设计(s7-pro9s7-pro9) 块结构 ob1主程序 ob100由停止转为运行时初始化程序 fc1为配料a控制程序 fc2为配料b控制程序 fc3为搅拌控制程序 fc4为出料控制程序 ob1 ob1续 ob100 fc1 fc2 fc3 fc4 系统仿真 i0.0=on i0.4=off q4.0=on i0.3=on q4.0=off q4.1=on i0.2=on q4.1=off q40.2=off t1 t1=on q4.2=off q4.3=on i0.4=off t2 t2=on q4.3=off 第四章第四章 plc程序设计程序设计 (模拟量设计)(模拟量设计) 1.模拟量控制系统设计举例 (1)搅拌控制系统线性程序设计(搅拌控制系统线性程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论