资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
本文由 yyiixxster 贡献ppt 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。S7-300/400PLC 的编程技术 的编程技术刘美俊编程语言与数据类型1 编程语言STEP-7 是 S7-300/400 系列 PLC 的编程软件. 梯形图,语句表 (即指令表 )和功能块图是标准的 STEP-7 软件包配备的 3 种基本编程语言,这 3 种语言 可以在 STEP-7 中相互转换.1 顺序功能图 顺序功能图(SFC)这是一种位于其他编程语言之上的图形语言,用来编制 顺序控制程序,STEP-7 中的 S7 Graph 顺序控制图形编程 语言属于可选的软件包.在这种语言中,工艺过程被划分 为若干个顺序出现的步,步中包含控制输出的动作,从一 步到另一步的转换由转换条件控制.用 Graph 表达复杂的 顺序控制过程非常清晰,用于编程及故障诊断更为有效, 使 PLC 程序的结构更加易读,它特别适合于生产制造过程. S7 Graph 具有丰富的图形,窗口和缩放功能.系统化的结 构和清晰的组织显示使 S7 Graph 对于顺序过程的控制更加 有效.2 梯形图(LAD) 梯形图是使用得最多的 PLC 图形编程语言.梯形 图与继电器电路图很相似,具有直观易懂的优点, 特别适合于数字量逻辑控制.梯形图由触点,线圈 和用方框表示的指令框组成.触点代表逻辑输入条 件,例如外部的开关,按钮和内部条件等.线圈通 常代表逻辑运算的结果,常用来控制外部的指示灯, 交流接触器和内部的标志位等.指令框用来表示定 时器,计数器或者数学运算等附加指令. 使用编程软件可以直接生成和编辑梯形图,并将 它下载到 PLC.触点和线圈等组成的独立电路称为网络(Network),如下图所 示,编程软件自动为网络编号.梯形图中的触点和线圈可以使用物理地址,例如 I0.1, Q0.3等.如果在符号表中对某些地址定义了符号,例如令 I0.1 的 符号为起动,在程序中可用符号地址 起动来代替物理 地址 I0.0,这样使程序易于阅读和理解. 用户可以在网络号右边加上网络的标题,在网络号的下面 为网络加上注释.还可以选择在梯形图下面自动加上该网络中 使用的符号的信息. 在分析梯形图中的逻辑关系时,为了借用继电器电路图的 分析方法,可以想象在梯形图的左有两侧垂直电源之间有 一个左正右负的直流电源电压,有一个假想的能 流(PowerFlow)流过线圈.利用能流这一概念,可以很好地理 解和分析梯形图,能流只能从左向右流动.3 语句表(STL) S7 系列 PLC 将指令表称为语句表 (Statement List),它是一种类似于微机的汇 编语言中的文本语言,多条语句组成一个程 序段.语句表比较适合经验丰富的程序员使 用,可以实现某些不能用梯形图或功能块图 表示的功能.4)功能块图(FBD) 功能块图(FBD)使用类似于布尔代数的图形逻辑 符号来表示控制逻辑.一些复杂的功能用指令框来表 示,功能块图用类似于与门,或门的方框来表示逻辑 运算关系. 5)结构文本(ST) 结构文本(ST)是为 IEC61131-3 标准创建的一种 专用的高级编程语言 . STEP-7 的 S7 SCL(结构化控 制语言)是符合 lEC61131-3 标准的高级文本语言.它 的语言结构与编程语言 Pascal 和 C 相似,所以特别适 合于习惯使用高级编程语言的人使用.6)S7 HiGraph 编程语言 图形编程语言 S7 HiGraph 属于可选软件包,它用 状态图(State Graphs)来描述异步,非顺序控制过程的 编程语言. 7)S7 CFC 编程语言 可选软件包CFC(Continuous Function Chart,连 续功能图)用图形方式连接程序库中以块的形式提供的 各种功能,包括从简单的逻辑操作到复杂的闭环和开 环控制等领域.编程时将这些块复制到图中并用线连 接起来即可.基本数据类型(1)基本数据类型;(2) 用户通过组合基本数据类型生成的复合 数据类型; (3)可用来定义传送 FB(功能块)和 FC(功能)参数的 参数类型. 下面介绍 STEP7 的基本数据类型: 1)位(bit) 位数据的数据类型为 BOOL(布尔)型,在编程软件中BOOL 变量的值 1 和 0 常用英语单词 TURE(真)和FALSE(假 )来表示. 位存储单元的地址由字节地址和位地址组成,例如 I3.2 中的区 域标示符I 表示输入(Input),字节地址为 3,位地址为 2,如图 所示.这种存取方式称为字节.位 寻址方式.输入字节 IB3(B 是 Byte 的缩写)由 I3.0I3.7 这 8 位组成.位数据的表示2)字节(Byte) 8 位二进制数组成 1 个字节(Byte,如下图,其中的第 0 位为最低位 (LSB),第 7 位为最高位(MSB).3)字(Word) 相邻两个字节组成一个字,字用来表示无符号数.MWl00 是 由 MB1OO 和 MB1O1 组成的 1 个字,如图5.4.3,MB00 为高位字 节.MW100 中的 M 为区域标示符,W表示字,100 为字的起始 字节 MB1O0 的地址.字的取值范围为 W#16#0000W#16#FFFF. 4) 双字(Double Word) 两个字组成 1 个双字,双字用来表示无符号数.MD100 是由 MB100MB103 组成的 1 个双字,(见上图),MB100 为高位宇节, D 表示双字,100 为双字的起始字节 MB100 的地址.双字的取 值范围为 DW#16#0000_0000DW#16#FFFF_FFFF.常数的表示方法 常数值可以是字节,字或双字,CPU 以二进制方式存储常数,常 数也可以用十进制,十六进制,ASCII码或浮点数形式来表示.B#16#,W#16#,DW#16#分别用来表示十六进制 字节,字和双字常数.2#用来表示二进制常数,例如 2#1101_1010. L#为 32 位双整数常数,例如 L# +5. P#为地址指针常数,例如P#M2.O 是 M2.0 的地址. S5T#是 16 位 S5 时间常数,格式为S5T# aD_bH_cM_dS_eMS.其中 a,b,c,d,e 分别是日, 小时,分,秒和毫秒的数值.输入时可以省掉下划线, 例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2 小 时 15 分 30 秒. C#为计数器常数(BCD 码),例如 C#250.状态字状态字用于表示 CPU 执行指令时所具有的状态.某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或 字逻辑指令访问并检测状态字.状态字的结构如图所示.逻辑操作结果(RLO) 状态字的第 1 位称为逻辑操作结果(Result of Logic Operation, RLO).该位存储逻辑操作指令或比较指令的结果.在逻辑串 中,RLO 位的状态表示有关信号流的信息,RLO 的状态为 1, 表明有信号流 (通),RLO 的状态为 0,表明无信号流(断).可 用 RLO 触发跳转指令. 溢出位(OV) 状态字的第 4 位称为溢出位.当算术运算或浮点数比较指 被置 1,如果执行结果正常,该位被清 0. 令执行时出现错误(溢出,非法操作,不规范格式)时,OV 位条件码 l(CCl)和条件码 0(CC0) 状态字的第 7 位和第 6位称为条件码 1 和条件码 0.这两位结合起 来用于表示在累加器 1 中产生的算术运算结果与 0 的大小关系,表 1 算术运算后的 CC1 和 CC0表 2 比较,移位,字逻辑指令后的 CCl 和 CC0寻址方式所谓寻址方式是指指令得到操作数的方式,可以直接或间 接给出操作数的地址.STEP-7 有 4 种寻址方式: 立即寻址,存储 器直接寻址,存储器间接寻址和寄存器间接寻址. 1 立即寻址 立即寻址是对常数或常量的寻址万式,其特点是操作数直接 包含在指令中 ,或者指令的操作数是惟一的 .例如: SET AW W#16#117 / 将 RLO 置 1 辑运算 L 43 /将整数 43装入累加器 1 中/将常数 W#16#117 与累加器 1 进行 与逻2 存储器直接寻址 存储器直接寻址的特点是直接给出操作数的 存储单元地址.例如 O I0.2 /对输入位 I0.2 进行或逻辑 运算 R Q4.0 = Ml.1 L Cl /将输出位 Q4.0 清0 /使 Ml.1 的内容等于 RLO 的内容 /将计数器 Cl 中的计数值装入累 加器 1 T MW6 /将累加器 1 中的内容传送给 MW63 存储器间接寻址存储器间接寻址的特点是用指针进行寻址.操作数 存储在由指针给出的存储单元中,根据要描述的地址 复杂程度,地址指针可以是字或双字的,存储指针的 存储器也应是字或双字的.对于 T,C,FB,FC, DB,由于其地址范围为 065535,可使用字指针; 对于 I,Q,M 等,可能要使用双字指针.使用双字指 针时,必须保证指针中的位编号为0.存储器间接 寻址的指针格式如图所示.存储器间接寻址的指针格式例 存储器间接寻址的指针格式及寻址 L +6 T WM1 OPN T MD5 /将整数 6 装入累加器 1/将累加器 1 的内容传送给存储器 MWl /打开由 MWl指出的数据块,即打 开数据块 DB6/将累加器 1 的内容传送到存储器 MD5A IMDl /对输入位 I8.7 进行逻辑与操作 = QMD5 /将 RLO 赋值给输出位 Q12.74 寄存器间接寻址寄存器间接寻址的特点是通过地址寄存器 寻址.S7 中有两个地址寄存器:ARl 和 AR2, 地址寄存器的内容加上偏移量形成地址指 针,指向操作数所在的存储单元. 寄存器间接寻址有两种形式:区域内寄存器 间接寻址和区域司寄存器间接寻址.寄存器 间接寻址的指针格式如图所示.寄存器间接寻址的指针格式地址指针区域标识位的含义 使用寄器指针格式访问一个字节,字或双字时,必须保证指针中 位地址的编号为 0.下面是区间间接寻址的例子: L P#5.0 LAR1 /将间接寻址的指针装入累加器 1 /将累加器 1 中的内容送到地址寄存 器 1A MAR1,P#2.3 /AR1 中的 P#5.0 加偏移量 P#2.3,实际上是对 M7.3 进行操作 = QAR1,P#0.2 /逻辑运算结果送Q5.2 L DBWAR1,P#18.0 /将 DBW23 装入累加器 1下面是区域间间接寻址的例子: L P#M6.0 LAR1 /将存储器位 M6.0 的双字指针 装入累加器 1 /将累加器 1 中的内容送到地址寄 存器 1 T WAR1,P#50.0 /将累加器 1 的内容传 送到存储器字 MW56基本指令及其编程1,位逻辑指令位逻辑指令状态寄存器触点在 S7-300/400PLC 中,CPU 中有一个专门 用于存储指令执行状态的 16 位状态寄存器,状 态寄存器以二进制位的形式保存指令的执行结 果与中间状态等,在梯形图编程时,这些标志 可以用触点的形式在梯形图中使用与编程,S7300/400PLC 可以使用的状态寄存器触点如下表 所示.状态寄存器触点 1,与(A),与非(AN)A:与指令适用于单个常开触点串联,完成逻辑 与运 算. AN:与非指令适用于单个常闭触点串联 ,完成逻辑 与非 运算.与(A),与非(AN)指令由图可知,触点串联指令也用于串联逻辑行 的开始.CPU对逻辑行开始第 1 条语句如 I1.0 的 扫描称为首次扫描.首次扫描的结果(I1.0 的状 态)被直接保存在 RLO(逻辑操作结果位)
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号