浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
6ES7221-1EF22-0XA0使用选型

6ES7221-1EF22-0XA0使用选型

二进制数的1位( bit)只能取0和1这两个不同的值,可以用它们来表示开关量(或称数字量)的两种不同的状态,例如触点的断开和接通,线圈的通电和断电等。如果该位为1,表示梯形图中对应的位编程元件(例如m和q)的线圈“通电”,其常开触点接通,常闭触点断开,以后称该编程元件为1状态,或称该编程元件on(接通)。如果该位为0,对应的编程元件的线圈和触点的状态与上述的相反,称该编程元件为0状态,或称该编程元件off(断开)。

表1不同进制的数的表示方法

计算机和用多位二进制数来表示数字,二进制数遵循逢2进1的运算规则,从右往左的第n位(低位为第0位)的权值为2n。二进制数2#1011对应的十进制数可以用下式计算:1×23+0×22+1×21+1×20=8+2+1=11。表给出了不同进制的数的表示方法

bcd码是二进制编码的十进制数的英语单词缩写,用4位二进制数表示一位十进制数。4位二进制数共有16种组合,有6种(1010~1111)没有在bcd码中使用。bcd码每位的数值范围为2#0000~2#1001,对应于十进制数0~9。

bcd码的高4位二进制数用来表示符号,负数的高位为1,正数为0,其余3位可以取0或1,一般取1。bcd码字(16位二进制数)的范围为-999~+999。bcd码双字(32位二进制数)的范围为-9 999 999~+9 999 999。bcd码各位之间的关系是逢十进一,图1中的bcd码为-862,图2是7位bcd码的格式。

图1 3位bcd码的格式

图2 7位bcd码的格式

拨码开关(见图3)的圆盘圆周面上有0~9这10个数字,用按钮来增、减各位要输入的数字。它用内部的硬件将10个数字转换为4位二进制数。用数字量输入点读取的多位拨码开关输出的值就是bcd码,需要用数据转换指令将它转换为整数或双整数。

用plc的4个输出点给一片译码驱动芯片4547提供输入信号,可以用led七段显示器显示一位十进制数。需要用数据转换指令,将plc中的整数转换为bcd码,然后分别送给各个译码驱动芯片。

图3拨码开关

bcd码的表示方式与十六进制数相同,例如用数字量输入模块读取的图3中的拨码开关的数值为16#829。到底是bcd码还是十六进制数,取决于数据的来源或用途。bcd码主要用于plc的输入和输出

本文介绍step7 的三种基本编程语言:lad、fbd以及stl。

一、梯形图lad

梯形图语言是从常用的与逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,技术人员容易接受,是目前运用上多的一种的编程语言。

在plc程序图中,左、右母线类似于继电器与接触器控制线,输出线圈类似于负载,输入触点类似于按钮。梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。图1为一段典型的梯形图语言编写的程序。

图1 梯形图语言

上图中,“常开点”i0.3、i1.2、i1.1及“常闭点”i0.2串联后,与“常开点”m0.0并联,然后为“线圈”q4.2供电。在“继电器与接触器“型电路中,用梯形图编程会显得一目了然,犹如看电气连接图一般。

二、功能块图fbd

fbd用方框图的形式来表示控制逻辑,类似于数字逻辑门电路的编程语言。驼子在大学时,对数字电路情有独钟,因而后来对fbd语言有了天然的好感,工作中倾向于用fbd进行编程。fbd语言对于有数字电路基础的人来说很容易掌握,该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量;信号也是由左向右流向的,各个功能方框之间可以串联,也可以插入中间信号。在每个后输出的前面组合逻辑操作方框数是有限的,同一组逻辑运算的输出结果的数目也要根据操作系统的不同而不同;经过扩展,不但可以表示各种简单的逻辑操作,并且也可以表示复杂的运算、操作功能。图1的梯形图控制逻辑用fbd编程的话,如图2所示。

图2 fbd语言

图2中,方框”&“为“与”运算,“>;="为或运算,其真值表如下:

图3 真值表

fbd语言的编程过程类似于数字电路中用集成模块搭建电路,每个模块都有其自己的功能,根据控制需要,选用合适的模块,用“线”连起来即可。

三、语句表stl

stl是一种与类似的助记符编程语言,用一个或几个容易记忆的字符来代表plc的某种操作功能,每个语句由地址(步序号)、操作码(指令)和操作数(数据)三部分组成。语句表可以实现某些不易用梯形图或功能块图来实现的功能。玩过的小伙伴再学习stl,可能会有些优势。图4为用stl编写的同一控制逻辑的程序。www.diangon.com

图4 stl语言

其中,“a”为与运算,“an”为与非运算,“o”为或运算,“=”为赋值运算。

用stl编程,需要对plc的微观逻辑结构有相当的了解,比如:需要了解各种存储模式,熟悉各种寻址方式,同时还要能熟练使用各种编程助记符。可以说,能够熟练运用stl编程的小伙伴,siemens的plc一定玩的相当的溜。驼子我的stl编程仍处在初学者阶段,犹记得去年用stl编写过一段光电测距仪的接口程序,不知死了多少脑细胞,实在是不堪回首。

四、三种语言,该如何抉择?

1、三种语言互相转换

在step7中,可以通过菜单选择,在三种语言中相互切换显示。如图5所示。

图5 lad、fbd、stl切换显示

当然,通常lad和fbd直接可以互相切换,lad、fbd也可以转换为stl语言,但stl却不一定可以转换为lad或fbd语言。

2、三种语言的优劣比较

lad是常用的语言,其形象、直观,稍懂电气的人就能很快上手,而且目前市面上几乎所有的plc都支持lad编程,一通百通。其在“继电器或接触器型”逻辑功能中应用比较好,但随着step7中集成的程序功能单元越来越多,lad语言写出的程序多少有点“不伦不类”。如图6所示,程序单元“cmp>;=d”在fbd程序中,以“块”的形式显示,与其他单元一样;但在lad语言中,仍以“块”的形式显示,与其它“触点单元”放在一起显得有点格格不入,虽然不影响逻辑,但看起来不工整。

图6 fbd、lad程序对比

fbd语言写出的程序,个人认为逻辑性较强,在编程过程中,可以根据被控对象的控制逻辑,“轻易”的捋清程序逻辑,编程就会轻松许多。同时,step7提供了大量的、功能各异的“程序逻辑单元”,仅需要简单的拖动,就能实现编程。

stl接近于汇编语言,起点较高,不容易掌握。但在一些需要对硬件操作的时候,比如:驼子曾经编写过的激光测距仪的接口程序,就不得不用到stl语言了。

profibus网络的硬件由主站、从站、网络部件和网络组态与诊断工具组成。网络部件包括通信媒体(电缆),总线连接器、中继器、耦合器;以及用于连接串行通信、以太网、as-i、eib等网络系统的网络转接器。profibus - dp设备可以分为3种不同类型的站。

(1)1类dp主站

1类dp主站(dpm1)是系统的中央控制器,dpm1在预定的周期内与dp从站循环地交换信息,并对总线通信进行控制和管理。dpm1可以发送参数给dp从站,读取从站的诊断信息,用全局控制命令将它的运行状态告知给各从站。此外,还可以将控制命令发送给个别从站或从站组,以实现输出数据和输入数据的同步。下列设备可以作1类dp主站:

1)集成了dp接口的,例如cpu 315 -2dp、cpu 313c -2dp等。

2) cpu和支持dp主站功能的通信处理器(cp)。

3)插有profibus网卡的pc,例如winac控制器。可以用软件功能选择pc作1类主站或是作编程监控的2类主站,可以使用cp 5511、cp 5611和cp 5613等网卡。

4)连接和profibus - dp的ie/pb链接器模块。

5) et 200s/et 200x的主站模块。

(2)2类dp主站

2类dp主站(dpm2)是dp网络中的编程、诊断和管理设备。pc和操作员面板/( op/tp)可以作2类主站。dpm2除了具有1类主站的功能外,在与1类dp主站进行的同时,可以读取dp从站的输入/输出数据和当前的组态数据,可以给dp从站分配新的总线地址。

(3) dp从站

dp从站是采集输入信息和发送输出信息的外围设备,只与它的dp主站交换用户数据,向主站报告本地诊断中断和过程中断:

支持dpv1的非智能dp从站称为“标准”从站,它没有cpu模块,通过接口模块(im)与dp主站通信。et 200是用得多的标准dp从站,它们按主站的指令驱动i/o,并将i/o输入及故障诊断等信息返回给主站。个别型号的et 200可以配专用的cpu模块。某些profibus通信处理器(cp)也可以作dp从站。plc可以作profibus的智能从站。

(4)具有profibus - dp接口的其他现场设备

西门子的sinumerik数控系统、sitrans现场仪表、、simoreg dc - mas-ter直流传动装置都有profibus - dp接口或可选的dp接口卡,可以作dp从站。其他公司带dp接口的输入/输出、、执行器或其他智能设备,也可以接入profibus - dp网络。

可以将1类、2类dp主站或dp从站组合在一个设备中,形成一个dp组合设备。


展开全文
优质商家推荐 拨打电话