西门子模块6ES7331-7KB02-0AB0参数详细
- 供应商
- 浔之漫智控技术-西门子PLC代理商
- 认证
- 手机号
- 15221406036
- 经理
- 聂航
- 所在地
- 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 更新时间
- 2024-05-08 07:10
西门子模块6es7331-7kb02-0ab0参数详细
1.程序家族有哪些成员?
plc的控制程序一般由主程序、子程序和中断程序组成。西门子的s7-300/400将子程序分为功能(function,或称为函数)和功能块(functionblock)。
在每一个扫描循环周期,cpu都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。
中断程序用于快速响应中断事件。在中断事件发生时,cpu将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。
2.哪些情况需要使用子程序?
当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。
子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而无需重写该程序。
3.怎样调用子程序?
主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如s7-200的大嵌套深度为8级。
执行完子程序后,返回调用它的程序中的调用指令的下一条指令。
4.每个扫描周期都会执行子程序吗?
子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时间。
5.停止调用子程序后,子程序中的线圈处于什么状态?
停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。
6.怎样实现子程序的无条件调用?
有的plc的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为on的特殊位元件(例如s7-200的sm0.0或fx系列的m8000)的常开触点来实现子程序的无条件调用。
不同品牌的plc的子程序大致可以分为两种,一种子程序没有输入、输出参数和局部变量,另一种则有。
1.什么是全局变量和局部变量?
以西门子的s7-200为例,输入i、输出q、变量存储器v、内部存储器位m、定时器t、计数器c等属于全局变量,可以在符号表中为全局变量定义符号名。
程序组织单元(programorganizationalunit)简称为pou,包括主程序、子程序和中断程序。每个pou均有自己的64字节局部变量,局部变量用l(local)来表示,局部变量只能在它所在的pou中使用。与此相反,全局变量可以在各pou中使用。
2.局部变量有哪些类型?
子程序可以使用下列局部变量:
1) temp(临时变量)是暂时保存在局部数据区中的变量。只有在执行该pou时,定义的临时变量才被使用,pou执行完后,不再保存临时变量的数值。主程序和中断程序的局部变量表中只有temp变量。
2)in(输入参数)由调用它的pou提供的传入子程序的输入参数。
3)out(输出参数)是子程序的执行结果,它被返回给调用它的pou。
4)in_out(输入_输出参数)的初始值由调用它的pou传送给子程序,并用同一变量将子程序的执行结果返回给调用它的pou。
主程序和中断程序的局部变量表中只有临时变量temp。
3.子程序的输入、输出参数有什么作用?
具有输入、输出参数和局部变量的子程序易于实现结构化编程,对于长期生产同类设备或生产线的厂家尤为有用。编程人员为设备的各部件或工艺功能编写了大量的通用的子程序。即使不知道子程序的内部代码,只要知道子程序的功能和输入、输出参数的意义,就可以用它们快速“组装”出满足不同的用户要求的控制程序。就好像可以用数字集成电路芯片组成复杂的数字电路一样。
如果子程序没有输入、输出参数,这种子程序没有明确的软件接口,使用起来很不方便。
4.局部变量有什么优点?
1)子程序如果没有局部变量,它和调用它的程序之间只能通过全局变量来交换数据,子程序内部也只能使用全局变量。将它移植到别的项目时,需要对各pou使用的全局变量作统一安排,以保证不会出现地址冲突。当程序很复杂,子程序很多时,这种地址分配是很花时间的。
如果子程序有局部变量,并且在子程序中只使用局部变量,不使用全局变量,因为与其他pou没有地址冲突,不作任何改动,就可以将子程序移植到别的项目中去。
为了减少移植子程序的工作量,在子程序中应尽量避免使用全局变量和全局符号。
2)如果使用局部变量表中的临时变量(temp),同一片物理存储器可以在不同的程序中重复使用。
下面以s7-200为例,介绍子程序的编程和调用的过程。
1.创建子程序
生成项目时,自动生成一个子程序。打开程序编辑器,执行“编辑”菜单中的命令“插入”→“子程序”,将自动生成和打开新的子程序。
2.生成局部变量
名为“模拟量计算”的子程序如下图所示,在该子程序的局部变量表中,定义了3个输入(in)参数,一个输出(out)参数,和名为“暂存1”的临时(temp)变量。局部变量表左边的一列是自动分配的每个变量在局部存储器(l)中的地址。
3.编写子程序的梯形图
局部变量表的下面是程序区(见上图),输入参数“转换值”是来自模拟量输入模块的与模拟量成正比的转换值,输出参数“模拟值”是计算出的对应的模拟量(例如压力、温度等)的工程值。子程序中变量名称前的“#”表示该变量是局部变量,它是编程软件自动添加的,输入局部变量时不用输入“#”号。特殊存储器位sm0.0的常开触点总是闭合。
4.子程序的调用
可以在主程序、其他子程序或中断程序中调用子程序,调用子程序时将执行子程序中的指令,直至子程序结束,然后返回调用它的程序中该子程序调用指令的下一条指令之处。
创建子程序后,在上图左边指令树下面的“调用子程序”文件夹中自动生成刚创建的子程序“模拟量计算”对应的图标。
在梯形图程序中插入子程序调用指令时,首先打开主程序,显示出需要调用子程序的网络。打开指令树下面的“调用子程序”文件夹,用鼠标左键按住需要调用的子程序图标,将它“拖”到程序编辑器中需要的位置。放开左键,子程序块便被放置在该位置。
子程序方框中左边的“转换值”等是在子程序“模拟量计算”的变量声明表中定义的输入参数,右边的“模拟值”是输出参数。它们被称为子程序的形式参数,简称为形参,形参在子程序内部的程序中使用。调用子程序时,需要为每个形参指定实际的参数(简称为实参),例如为形参“转换值”指定的实参为模拟量输入字aiw2(见上图)。
子程序调用指令中的实参的有效操作数为存储器地址、常量、全局符号和调用指令所在的pou中的局部变量,不能指定被调用子程序中的局部变量。
cpu调用子程序时,输入参数被复制到子程序的局部存储器,子程序执行完后,从局部存储器复制输出参数到指定的输出参数地址。
西门子s7-300/400的子程序分为功能(function)和功能块(function block)。
1.功能(fc)
功能是用户编写的没有固定的存储区的程序块,其临时变量存储在局部数据堆栈中,功能执行结束后,不再保存这些数据。可以用共享数据区来存储那些在功能执行结束后需要保存的数据。
功能与s7-200的子程序的局部变量基本上相同(见下图)。与s7-200的子程序相比,其局部变量多了个返回值(ret_val)。返回值实际上属于输出参数。
2.参数类型
用于块之间传送数据的形式参数可以定义为12种基本数据类型、5种复杂数据类型(见上图),也可以为块之间传送数据的形式参数定义下列的参数类型:
1)timer或counter:指定执行块时要使用的定时器或计数器。例如定义功能中的输入变量ton1的数据类型为timer,两次调用功能时分别设置ton1的实参为t5和t6。
2)块:指定用作输入或输出的特定块。例如定义某个输入变量的数据类型为block_fb,在调用块时指定块地址(例如fb3)作为实参。
3)pointer:指针是变量的地址而不是变量的值。pointer参数类型的形参应为地址,例如p#m50.0。在step7中,指针也可以用地址作实参 (例如m 50.0)。
4)any:用于将任意的数据类型传递给声明的形参。any可用于实参的数据类型未知,或实参可以使用任意数据类型的情况。例如p#db2.dbx50.0byte 10表示db2中的dbb50~dbb59。any也可以用地址作实参,例如db2.dbw30和q12.5,但是只能指向一个变量。
5)udt:用户自定义的数据类型。
3.功能块(fb)
功能块是用户编写的有自己的存储区(背景数据块)的程序块,功能块的输入、输出变量和静态变量(stat)存放在指定的背景数据块 (di)中,临时变量存储在局部数据堆栈中。功能块执行完后,背景数据块中的数据不会丢失,但是不会保存局部数据堆栈中的数据。
4.背景数据块
背景数据块是专门指定给某个功能块(fb)使用的数据块,它是fb专用的工作存储区。
背景数据块用来保存fb的实参和静态数据,背景数据块中的数据是自动生成的。它们是功能块的变量声明表中的数据(不包括临时变量)。调用功能块时应指定对应的背景数据块。
5.功能与功能块的区别
fb和fc均为用户编写的子程序,局部变量表中均有in、out、in_out和temp变量。fc的返回值ret_val实际上属于输出参数。下面是fc和fb的区别:
1) 功能块有背景数据块,功能没有背景数据块。
2)只能在功能内部访问它的局部变量。其他逻辑块可以访问功能块的背景数据块中的变量。
3)功能没有静态变量(stat),功能块有保存在背景数据块中的静态变量。
功能如果有执行完后需要保存的数据,只能存放在全局变量(例如共享数据块和m区)中,但是这样会影响功能的可移植性。如果功能或功能块的内部不使用全局变量,只使用局部变量,不需要作任何修改,就可以将它们移植到其他项目。如果块的内部使用了全局变量,在移植时需要考虑每个块使用的全局变量是否会与别的块产生地址冲突。
4)功能块的局部变量(不包括temp)有初始值,功能的局部变量没有初始值。调用功能时应给所有的形参指定实参。
调用功能块时可以不设置某些输入、输出参数的实参,此时这些参数将使用背景数据块中的初始值。
1.中断与中断程序
有很多plc内部或外部的事件是随机发生的,例如外部开关量输入信号的上升沿或下降沿、通信事件、高速计数器的当前值等于设定值和定时中断等,事先并不知道这些事件何时发生,但是它们出现时需要尽快地处理它们,plc用中断来快速处理上述事件。
例如电力系统出现故障时,可能引发多个断路器相继跳闸。为了分析故障的起因,需要及时准确记录事故发生的时间。可以用硬件中断来完成这一任务。
由于plc的扫描工作方式,普通定时器的定时误差很大,定时时间到了也不能马上去处理要作的事情。可以用定时中断来实现高精度定时,在定时时间到时cpu自动调用定时中断程序。
在出现一个中断事件时,当前正在执行的程序在当前指令执行完后被停止执行(被中断),操作系统将会调用一个用户编写的分配给该事件的中断程序(s7-300/400称为组织块)。中断程序被执行完后,被暂停执行的程序将从被中断的地方开始继续执行。这一过程不受plc扫描工作方式的影响,因此使plc能迅速响应中断事件。换句话说,中断程序不是在每次扫描循环中处理,而是在需要时才被及时地处理。
2.中断的优先级
中断事件有不同的优先级,高优先级的中断程序可以中断低优先级的中断程序。
如果在执行中断程序时,又检测到一个中断请求,cpu将比较两个中断源的中断优先级。如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的中断源的优先级高,将中止当前正在处理的中断程序,改为调用较高优先级的中断源的中断程序,这种处理方式称为中断程序的嵌套调用。
3.中断的控制
不是所有的用户都需要plc的中断功能,用户一般也不需要处理所有的中断事件,因此允许用户用指令来控制是否需要中断和需要哪些中断。
s7-200的中断允许指令ei允许处理中断事件。至于需要处理哪些中断事件,需要单独设置。禁止中断指令di禁止处理所有的中断事件。
s7-200进入run模式时自动禁止中断,在run模式执行中断允许指令后,各中断事件发生时是否会执行中断程序,取决于是否执行了该中断事件的中断连接指令atch。
中断分离指令dtch用来断开某个中断事件与中断程序之间的联系,从而禁止单个中断事件。
4.编写中断程序应注意的问题
因为不能预知系统何时调用中断程序,为了避免在中断程序中改写其他程序使用的存储器,在中断程序中应尽量使用局部变量。
应优化中断程序,使中断程序尽量短小,以减少中断程序的执行时间,减少对其他处理的延迟,否则可能引起主程序控制的设备操作异常。设计中断程序时应遵循“越短越好”的格言。为了减少中断程序的执行时间,可以在中断程序设置一个软件标志,在主程序中根据标志处理对于快速性要求不是很高、执行时间很长的任务。
5.中断程序为什么没有输入、输出变量?
中断程序不像子程序那样,被用户程序调用,而是在中断事件发生时,由操作系统调用,因此s7系列plc的中断程序不需要输入参数和输出参数,它的局部变量表中只有临时变量。s7-300/400的中断程序称为组织块,它有自动生成的20字节的临时局部变量,包含了与触发组织块的事件有关的信息,它们由操作系统提供。
在工业控制中,某些输入量(如压力、温度、流量、转速等)是连续变化的模拟量,某些执行机构(如伺服电动机、调节阀、记录仪等)要求plc输出模拟信号,而plc的cpu只能处理数字量。模拟量首先被传感器和变送器转换为标准的电流或电压,如4~20ma,1~5v,0~10v,plc用a/d转换器将它们转换成数字量。这些数字量可能是二进制的,也可能是十进制的,带正负号的电流或电压在a/d转换后一般用二进制补码表示。
d/a转换器将plc的数字输出量转换为模拟电压或电流,再去控制执行机构。模拟量i/o模块的主要任务就是完成a/d转换(模拟量输入)和d/a转换(模拟量输出)。
例如在炉温控制系统中,炉温用热电偶检测,温度变送器将热电偶提供的几十毫伏的电压信号转换为标准电流(如4~20ma)或标准电压(如l~5v)信号后送给模拟量输入模块,经a/d转换后得到与温度成比例的数字量,cpu将它与温度设定值比较,并按某种控制规律(如pid)对二者的差值进行运算,将运算结果(数字量)送给模拟量输出模块,经d/a转换后变为电流信号或电压信号,用来调节控制天然气的电动调节阀的开度,实现对温度的闭环控制。
有的plc有温度检测模块,温度传感器(热电偶或热电阻)与它们直接相连,省去了温度变送器。
大中型plc可以配置成百上千个模拟量通道;它们的d/a,a/d转换器一般是12位的。模拟量i/o模块的输入、输出信号可以是电压,也可以是电流;可以是单极性的,如0~5v,0~10v,1~5v,4~20ms,也可以是双极性的,如 50mv,±5v,±10v和±20ma,模块一般可以输入多种量程的电流或电压。
a/d,d/a转换器的二进制位数反映了它们的分辨率,位数越多,分辨率越高,例如8位a/d转换器的分辨率为2-8=0.38%;模拟量输入/输出模块的另一个重要指标是转换时间。
1.体积极小的微型plc
fxls,fxin和fx2n系列plc的高度为90mm,深度为75mm(fxls和fxln系列)和87mm(fx2n和fx2nc系列),fxls-14m(14个i/o点的基本单元)的底部尺寸仅为90mm�60mm,相当于一张卡片大小,很适合于在机电一体化产品中使用。内置的24v dc电源可作输入回路的电源和传感器的电源。
2.先进美观的外部结构
三菱公司的fx系列plc吸收了整体式和模块式plc的优点,它的基本单元、扩展单元和扩展模块的高度和深度相同,宽度不同。它们之间用扁平电缆连接,紧密拼装后组成一个整齐的长方体。
3.提供多个子系列供用户选用
fxls,fxln和fx2n的外观、高度、深度差不多,但是性能和价格有很大的差别(见表2-1)。
fx1s的功能简单实用,价格便宜,可用于小型开关量控制系统,多30个i/o点,有通信功能,可用于一般的紧凑型plc不能应用的地方;以fxln多可配置128个i/o点,可用于要求较高的中小型系统;fx2n的功能强,可用于要求很高的系统。fx2nc的结构紧凑,基本单元有16点、32点、64点和96点4种,可扩展到256点,有很强的通信功能。由于不同的系统可以选用不同的子系列,避免了功能的浪费,使用户能用少的投资来满足系统的要求。
4.灵活多变的系统配置
fx系列plc的系统配置灵活,用户除了可选不同的子系列外,还可以选用多种基本单
元、扩展单元和扩展模块,组成不同i/o点和不,同功能的控制系统,各种配置都可以得到很高的性能价格比。fx系列的硬件配置就像模块式plc那样灵活,因为它的基本单元采用整体式结构,又具有比模块式plc更高的性能价格比。
每台plc可将一块功能扩展板安装在基本单元内,不需要外部的安装空间,这种功能
扩展板的价格非常便宜,功能扩展板有以下品种:4点开关量输入板、2点开关量输出板、2
路模拟量输入板、1路模拟量输出板、8点模拟量调整板、rs–232c通信板、rs-485通信板和rs-422通信板。
显示模块fx1n–5dm的价格便宜,可以直接安装在fx1s和fx1n上,它可以显示实时钟的当前时间和错误信息,可对定时器、计数器和数据寄存器等进行监视,可对设定值进行修改。
fx系列还有许多特殊模块,如模拟量输入输出模块、热电阻,热电偶温度传感器用模拟量输入模块、温度调节模块、高速计数器模块、脉冲输出模块、定位控制器、可编程凸轮开关、cc–bbbb系统主站模块、cc–bbbb接口模块、melsec远程i/o连接系统主站模块、as–i主站模块、devicenet接口模块、profibus接口模块、rs–232c通信接口模块、rs–232c适配器、rs-485通信板适配器、rs–232c/rs-485转换接口等。
fx系列plc还有多种规格的数据存取单元,可用来修改定时器、计数器的设定值和数据寄存器的数据,也可以用来作监控装置,有的显示字符,有的可以显示画面。
5.功能强,使用方便
fx系列的体积虽小,却具有很强的功能。它内置高速计数器,有输入输出刷新、中断、输入滤波时间调整、恒定扫描时间等功能,有高速计数器的专用比较指令。使用脉冲列输出功能,可直接控制步进电动机或伺服电动机。脉冲宽度调制功能可用于温度控制或照明灯的调光控制。可设置8位数字密码,以防止别人对用户程序的误改写或盗用,保护设计者的知识产权。fx系列的基本单元和扩展单元一般采用插接式的接线端子排,更换单元方便快捷。
fx1s和fxln系列plc使用eeprom,不需要定期更换锂电池,成为几乎不需要维护的电子控制装置;fx2n系列使用带后备电池的ram。若采用可选的存储器扩充卡盒,fx2n的用户存储器容量可扩充到16k步,可选用ram,eprom和eeprom储存器卡盒。
fx1s和fx1n系列plc有两个内置的设置参数用的小电位器,fx2n和fxln系列可选用有8点模拟设定功能的功能扩展板,可以用旋具来调节设定值。
fx系列plc可在线修改程序,通过调制解调器和电话线可实现远程监视和编程,元件注释可储存在程序储存器中。持续扫描功能可用于定义扫描周期,可调节8点输入滤波器的时间常数,面板上的运行/停止开关易于操作