第三章:S7-200程序设计基础_第1页
第三章:S7-200程序设计基础_第2页
第三章:S7-200程序设计基础_第3页
第三章:S7-200程序设计基础_第4页
第三章:S7-200程序设计基础_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

西南林业大学 树木树人至真至善 第三章S7 200程序设计基础 主讲 舒宇 机械与交通学院 西南林业大学 树木树人至真至善 编程语言 与个人计算机相比 PLC的硬件 软件的体系结构都是封闭的而不是开放的 各家厂商的PLC编程语言和指令系统的功能和表达方式不一致 进而各家的PLC互不兼容 IEC于1994年颁布了PLC标准 IEC61131 通用信息 设备与测试要求 编程语言 用户指南 通讯 IEC 国际电工委员会 标准鼓励不同的PLC制造商提供在外观和操作上相似的指令 目的在于减少用户的学习时间 对于厂商而言标准化将减少产品开发的时间 标准第三部分IEC61131 3是PLC的编程语言标准 西南林业大学 树木树人至真至善 IEC61131 3详细说明了句法 语义和五种类型的编程语言 顺序功能图 SequentialFunctionChart 梯形图 LadderDiagram 功能块图 FunctionBlockDiagram 指令表 InstructionList 结构文本 StructuredText 西南林业大学 树木树人至真至善 顺序功能图SFC 组织程序的图形方法 三要素 步 转换和动作位于其他编程语言之上的图形语言 用来编制顺序控制程序 可以用别的语言嵌套编程 梯形图LD 由触点 线圈 功能块组成触点 组合 代表逻辑输入条件线圈表示逻辑输出结果功能块表示定时器 计数器 数学运算等能流 PowerFlow 自左向右网络 network 触点和线圈等组成的独立电路 西南林业大学 树木树人至真至善 功能块图FBD 类似于数字逻辑门电路的编程语言用类似与门 或门的方框来表示逻辑运算关系 方框左侧是逻辑运算的输入 右侧为输出变量 语句表LD 与微机的汇编语言类似的编程语言 结构文本ST IEC61131 3标准创建的一种专用的高级编程语言 它能实现复杂的数学运算 编写的程序非常简洁和紧凑 西南林业大学 树木树人至真至善 主程序OB1 子程序SBR 中断程序INT 程序的主体 每个项目有且只有一个主程序 主程序中可以调用中断程序和子程序 可选程序 仅在被调用时执行 同一子程序可以在不同的地方被多次调用 利于简化程序和减少扫描时间 处理与用户程序的执行时序无关或不能事先预测的事件 中断程序不是被主程序调用 它们在中断事件发生时由PLC的操作系统调用 程序结构 西南林业大学 树木树人至真至善 数据类型 二进制 二进制数的1位 bit 只有0和1两种取值 用于表示开关量的两种状态 例如触点的断开和接通 线圈的通电和断电 位数据的类型我们称为BOOL 布尔 型 8位二进制数组成一个字节 byte 其中0为最低位 LSB 第七位为最高位 MSB 两个字节组成1个字 word 两个字组成一个双字 doubleword BCD码 Binary CodedDecimal 亦称二进码十进数或二 十进制代码 用4位二进制数来表示1位十进制数中的0 9这10个数码 BCD码这种编码形式利用了四个位元来储存一个十进制的数码 使二进制和十进制之间的转换得以快捷的进行 十六进制 Hexnumbersystem 是计算机中数据的一种表示方法 它由0 9 A F 组成 与10进制的对应关系是 0 9对应0 9 A F对应10 15 N进制的数可以用0 N 1 的数表示超过9的用字母A F 数据类型与寻址方式 西南林业大学 树木树人至真至善 带符号数 利用二进制补码表示有符号数 最高位为符号位 0为正数 1为负数 正数的补码与原码相同 负数的补码等于正数的原码取反后加1 7 00000111 取反 11111000 加1 11111001 7 数据的位数与取值范围 西南林业大学 树木树人至真至善 数据的寻址长度 可以按位 字节 字 双字对存储单元寻址 数据地址 存储区类型的字母 数据长度标记 存储单元 小数点 位编号 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 输入过程映像寄存器存储区I PLC接收外部数字量输入的窗口每个扫描周期开始 CPU对物理输入点进行采样 将采样值写入其中外部输入接通时对应的寄存器为ON 1状态 反之为OFF 0状态 在梯形图编程中 可多次使用输入位的常开 常闭触点位 I字节地址 位地址 I0 1字节 字或双字 I长度起始字节地址 IB1IW2ID3 输出过程映像寄存器存储区Q PLC控制外部数字量输入的窗口每次扫描未期 CPU将寄存器中的数据传送给输出模块 以驱动负载在梯形图编程中 可多次使用输出位位 Q字节地址 位地址 Q0 1字节 字或双字 Q长度起始字节地址 QB1QW2QD3 I0 0 I15 7 Q0 0 Q15 7 CPU的存储区 西南林业大学 树木树人至真至善 变量存储区V 存储程序执行的中间结果保存与任务相关的其他数据位 V字节地址 位地址 V10 1字节 字或双字 V长度起始字节地址 VB100VW2VD301 CPU221 222 VB0 VB2047CPU224 VB0 VB8191CPU224XP 226 VB0 VB10239 位存储区M 类似中间继电器位 M字节地址 位地址 M20 6字节 字或双字 M长度起始字节地址 MB0MW2MD3 M0 0 M31 7 西南林业大学 树木树人至真至善 定时器存储区T 相当于时间继电器三种时基 1ms 10ms 100ms当前值 16位有符号整数 存储T中累计时基增量值 1 32767定时器位 描述T延时动作的触点状态位 字T定时器号 T37 T0 T255 计数器存储区C 累计输入由低到高 电平 变化的次数当前值 计数器位与定时器T相同位 字 C计数器号 C2 C0 C255 西南林业大学 树木树人至真至善 高速计数器HC HC0 HC5 累计比CPU扫描速率更快的事件 与CPU扫描周期无关当前值 32位有符号整数HC高速计数器号 HC1 累加器AC 像存储器一样的读 写单元32位累加器 可以按字节 字 双字形式存取位数取决于指令 AC0 AC3 西南林业大学 树木树人至真至善 特殊存储器SM CPU与用户程序之间传递信息的一种手段位 SM字节地址 位地址 SM0 1字节 字 双字 SM长度起始字节地址 SMB86 模拟量输入AI 模拟量输入经A D转换后的16bit数值必须以偶数字节地址存取AIW起始字节地址 AIW2 西南林业大学 树木树人至真至善 模拟量输出AQ 将16bit数值按比例转换为电流 电压必须以偶数字节地址存取AQW起始字节地址 AQW2 顺序控制继电器S 用于组织设备的顺序操作提供控制程序的逻辑分段 常数的表示方法 常数可以是字节 字或双字二进制 十进制 十六进制浮点数 实数 32位ASCII码 8位 A 41H 西南林业大学 树木树人至真至善 实数 实数 REAL 又称浮点数表示为1 m 2E如123 4表示为1 234 102ANSI IEEE754 1985标准格式表示为32位实数1 m 2e其中e E 127 1 e 254 最高位为 第31位 为符号位 0为正数 1为负数表示范围 1 175495 10 38 3 402823 1038 字符串格式 由若干个ASCII码字符组成 一个字符占一个字节字符串的第一个字节定义了字符串的长度 0 254 字符串最大长度为255 一个字符串常量的最大长度为128个字节 0 31 30 23 22 符号位 字节0 字节1 字节2 字节3 字节4 字节254 西南林业大学 树木树人至真至善 直接寻址 直接指定存储器的区域 长度和位置例如VW790是V存储区中的字 其地址为790 W表示字 间接寻址 使用指针对I Q V M AI AQ T C间接寻址间接寻址不能用于位地址 HC和L存储区只能以V L或AC作为指针 双字 32位 建立指针时必须用双字传送指令 MOVD 例如 MOVD VB200 AC1 VB200 VB200的地址 表示VB200的地址 而不是VB200的值 CPU的数据寻址 西南林业大学 树木树人至真至善 用指针存储数据时 操作数前加 表示该操作数为一个指针下图中 AC1表示AC1是一个指针 AC1是AC1所指的地址中的数据 指针存储数据 西南林业大学 树木树人至真至善 LDbit 装载 电路开始的常开触点LDNbit 取反后装载 电路开始的常闭触点Abit 与 串联的常开触点ANbit 取反后与 串联的常闭触点Obit 或 并联的常开触点ONbit 取反后或 并联的常闭触点 bit 线圈输出 LDI0 0ANI0 1OI0 2AI0 3ONC0 5 Q0 3 Q1 4ANI3 4 Q2 6 位逻辑指令 西南林业大学 树木树人至真至善 例 M1 0得电一个扫描周期 I0 1 M1 0 M1 1 第1次扫描 I0 1 M1 0 M1 1 第2次扫描 I0 1 M1 0 M1 1 西南林业大学 树木树人至真至善 PLC使用逻辑堆栈来处理所有的逻辑操作逻辑堆栈由9个堆栈存储器位 S0 S8 组成操作原则 选进后出 后进先出 堆栈 一组能够存取数据的暂时存储单元 进栈 数据由栈顶压入 堆栈中原有的数据被串行下移一位 栈底数据移出堆栈丢失出栈 数据从栈顶被取出 所有数据向上串行一位 栈底随机装入一个数据 第一层 第二层 第三层 第四层 第五层 第六层 第七层 第八层 第九层 栈顶 栈底 逻辑堆栈指令 西南林业大学 树木树人至真至善 LD 将指令指定的位地址中的二进制数据装入栈顶A 将指令指定的位地址中的二进制数据与栈顶数据相与O 将指令指定的位地址中的二进制数据与栈顶数据相或LDN AN ON则将数据取反后再作相应的装载 与 或操作 例 LDI0 0OI0 1ANI0 2NOT Q0 0 改写 指定 I0 0 1I0 1 0I0 2 0 西南林业大学 树木树人至真至善 ALD 电路块串联 栈装载与 例 LDI0 0OI0 1LDNI0 2AI0 4OI0 3ALDOI0 5 Q0 0 改写 西南林业大学 树木树人至真至善 OLD 电路块并联 栈装载或 例 改写 LDI0 0AI0 1LDI0 2AI0 3OLDLDI0 4AI0 5OLD Q0 0 西南林业大学 树木树人至真至善 例 LDNI1 4AI0 3LDI3 2ANT16OLDLDNC24ONI1 2ALDOQ3 4 Q5 3 S0 S1 S2 S3 S4 西南林业大学 树木树人至真至善 例 根据语句表画出梯形图 LDI0 0OQ2 5ANI2 3LDNM4 5OQ0 3AT1LDNM5 6AC5OLDALDOM3 2 Q0 3 西南林业大学 树木树人至真至善 LPS 逻辑入栈 复制栈顶并将其压入下一层LRD 逻辑读栈 将堆栈中第2层数据复制到栈顶LPP 逻辑出栈 各层数据上移一层LDSn 装载堆栈 复制第n层的值到栈顶 n 1 8 每一条LPS指令必须有一条对应的LPP指令中间支路都用LRD指令处理最后一条支路时必须使用LPP指令在一块独立电路中 用入栈指令同时保存在堆栈中的运算结果不能超过8个 西南林业大学 树木树人至真至善 指令操作示意 西南林业大学 树木树人至真至善 例 LDI0 2 S0 I0 2AI0 0 S0 I0 0 I0 2LPS S1 S0 I0 0 I0 2ANI0 1 S0 I0 1 S0 I0 1 I0 0 I0 2 Q2 1 Q2 1 S0LRD S0 S1 I0 0 I0 2AI0 5 S0 I0 5 S0 I0 5 I0 0 I0 2 M3 7 M3 7 S0LPP S0 S1 I0 0 I0 2S1 S2 ANI0 4 S0 I0 4 S0 I0 4 I0 0 I0 2 Q0 3 Q0 3 S0 LPS LRD LPP 西南林业大学 树木树人至真至善 LPS LRD LPP network1LDI0 2AI0 0ANI0 1 Q2 1 network2LDI0 2AI0 0AI0 5 M2 7 network3LDI0 2AI0 0ANI0 4 Q0 3 西南林业大学 树木树人至真至善 例 LDI0 1ONI0 0LPSAI0 2ANI0 3LPSAI0 4 Q2 5 LPPLDI4 2OI3 3ALDRM3 4 1LRDAI0 5 M2 6 LPPANI0 6 Q3 2 西南林业大学 树木树人至真至善 S0 S1 S2 LPS LPS LPP LRD LPP S0 S1 S2 中间运算结果不能超过8个 LDI0 1ONI0 0LPSAI0 2ANI0 3LPSAI0 4 Q2 5 LPPLDI4 2OI3 3ALDRM3 4 1LRDAI0 5 M2 6 LPPANI0 6 Q3 2 西南林业大学 树木树人至真至善 立即触点 LDI 立即装载 电路开始的常开触点AI 立即与 串联的常开触点OI 立即或 并联的常开触点LDNI ANI ONI 立即触点指令只用于输入量I指令执行时立即读入物理输入点的值 根据该值决定通断并不更新物理输入点对应的输入过程映像寄存器 西南林业大学 树木树人至真至善 输出指令 输出 将顶栈值复制到相应映像寄存器或存储区 值为0或1 I 立即输出 将顶栈值立即写入物理输及出位相应映像寄存器Sbit N 置位 从指定地址开始的N个连续位地址SIbit N立即置位Rbit N 复位 从指定地址开始的N个连续位地址RIbit N立即复位 输出指令应放在梯形图最右边 指令变量为BOOL型立即输出指令只能用于输出量Q对T C而言 复位则清除其当前值 相应位复位 西南林业大学 树木树人至真至善 其他指令 NOT 取反 将存放在堆栈顶部的左边电路的运算结果取反EU 正跳变 检测到正跳变 则触点接通1个扫描周期ED 负跳变 检测到负跳变 则触点接通1个扫描周期NOPN 空操作 延时 N 0 255 西南林业大学 树木树人至真至善 定时器 定时器 T 1 接通延时定时器 TON 2 断开延时定时器 TOF 3 保持接通延时定时器 TONR 定时器分辩率 1ms 10ms 100ms 西南林业大学 树木树人至真至善 接通延时定时器TON 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 断开延时定时器TOF TOF 西南林业大学 树木树人至真至善 TOF 西南林业大学 树木树人至真至善 保持接通延时定时器TONR 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 计数器 计数器 加计数器 CTU 减计数器 CTD 加减计数器 CTUD 加计数器 CTU 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 减计数器 CTD 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 加减计数器 CTU 西南林业大学 树木树人至真至善 西南林业大学 树木树人至真至善 习题1 输入有2块 输出有2个分支 西南林业大学 树木树人至真至善 LDNC22OM1 3OM3 5 LDM2 1ANI0 4AT21LDI0 2ANI2 7OLDONQ0 4 西南林业大学 树木树人至真至善 LDNC22OM1 3OM3 5 LDM2 1ANI0 4AT21LDI0 2ANI2 7OLDONQ0 4 ALDOI1 4 西南林业大学 树木树人至真至善 LPSEUSQ3 3 1LPPAM2 2TONT37 100 LDNC22OM1 3OM3 5LDM2 1ANI0 4AT21LDI0 2ANI2 7OLDONQ0 4ALDOI1 4 西南林业大学 树木树人至真至善 习题2 输出有3个分支 西南林业大学 树木树人至真至善 LDI0 0OM1 2LPS ANI0 1AT37 Q0 3LRDAI0 5 M2 2 LPPLDNI0 4OC

温馨提示

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

评论

0/150

提交评论