产地类别 | 进口 |
---|
西门子致力于提供更有效利用能源的解决方案,助力中国创建可持续能源发展的未来。从化石燃料到可再生能源的利用,从集中到分布式能源,我们提供全面的创新产品和解决方案,助力可持续能源系统的发展。提高能源效率,中国位置举足轻重中国是世界上大的能源消费国。随着经济增长,中国对能源的需求将持续飙升,其能源系统结构也日渐复杂,将给环境带来巨大压力
![]() |
参考价 | ¥88 |
订货量 | 1 |
更新时间:2018-12-17 15:00:50浏览次数:353
联系我们时请说明是化工仪器网上看到的信息,谢谢!
6ES7902-2AB00-0AA0
【S7-300】ANY类型指针使用指南
与POINTER指针相比,ANY类型指针可以表示一段长度的数据,例如P#DB1.DBX0.0 BYTE 10,表示指向DB1.DBB0~DB1.DBB9。调用FB、FC时,对POINTER数据类型参数进行赋值时可以选择指针显示方式直接赋值,例如:
P# DB2.DBX12.0 WORD 22 //指向从DB2.DBW12开始22个字。
P#M12.1 BOOL 10 //指向从M12.1开始10个位信号。
也可以选择使用地址声明或符号名(不使用符号P#)的方式进行赋值,例如:
DB2.DBW12 //指向DB2.DBW12一个字,数据长度为1。
M12.1 //指向M12.1一个位信号,数据长度为1。
编写一个计算功能的函数FC13,输入参数“In_Data”为一个数组变量,如果数组元素为浮点数,输出所有元素的平均值“OUT_VAL”,如果数组元素为其它数据类型,不执行计算功能。OB1中调用函数FC13的程序如下:
CALL FC 13 // 调用函数13。
In_Data:=P#DB1.DBX0.0 REAL 8 //输入数据区从DB1.DBD0开始8个浮点
值。
OUT_VAL:=MD20 //计算结果。完成的计算功能相当于MD20:=(DB1.DBD0+..+..+DB1.DBD28)/8。
FC13接口参数
数据接口 | 名称 | 数据类型 | 地址 |
IN | In_Data | ANY | |
OUT | OUT_VAL | REAL | |
TEMP | DATA_LEN | INT | 0.0 |
TEMP | BLOCK_NO | INT | 2.0 |
TEMP | ADD_TEMP | REAL | 4.0 |
TEMP | DATA_NO | INT | 8.0 |
L 0 //初始化临时变量#ADD_TEMP。 T #ADD_TEMP L P##In_Date //指向存储地址指针In_Date首地址,并 LAR1 装载到地址寄存器AR1中。 L B [AR1,P#1.0] //如果数据类型不是REAL,跳转到END。 L B#16#8 <>D JC END L 0 L W [AR1,P#4.0] //判断OB1中赋值的地址指针是否为数据 ==I 块(参考 ANY的数据格式)。 JC M1 T #BLOCK_NO OPN DB [#BLOCK_NO] //如果是DB块,打开的DB块。 M1: L W [AR1,P#2.0] //判断ANY指针中数据长度,本例中为 T #DATA_LEN REAL变量的个数。 L D [AR1,P#6.0] //找出需要计算数据区的开始地址,本例 中为DB1.DBX0.0。 LAR1
L #DATA_LEN NO: T #DATA_NO //循环执行加运算,本例中循环执行的次 数为8。 L D [AR1,P#0.0] //装载DB1.DBD0到累加器1中。 L #ADD_TEMP //与临时变量#ADD_TEMP相加后将计算结果 +R 再存储 #ADD_TEMP中。 T #ADD_TEMP +AR1 P#4.0 //地址寄存器加4,地址偏移量。 L #DATA_NO //LOOP 指令固定格式。 LOOP NO //跳回“NO”循环执行,执行完定义在变 量#NO_TEMP的次数后自动跳出循环程序。 L #ADD_TEMP //求平均值,装载运算结果到累加器1中。 L #DATA_LEN DTR //将变量个数转变为浮点值便于运算。 /R T #OUT_VAL //输出运算结果。 END: NOP 0 |
PLC的国内外状况 我国PLC的现状
世界上*的*台PLC是1969年美国数字设备公司(DEC)研制的。限于当时的元器件条件及计算机发展水平,早期的PLC主要由分立元件和中小规模集成电路组成,可以完成简单的逻辑控制及定时、计数功能。20世纪70年代初出现了微处理器。人们很快将其引入可编程控制器,使PLC增加了运算、数据传送及处理等功能,完成了真正具有计算机特征的工业控制装置。为了方便熟悉继电器、接触器系统的工程技术人员使用,可编程控制器采用和继电器电路图类似的梯形图作为主要编程语言,并将参加运算及处理的计算机存储元件都以继电器命名。此时的PLC为微机技术和继电器常规控制概念相结合的产物。
20世纪70年代中末期,可编程控制器进入实用化发展阶段,计算机技术已全面引入可编程控制器中,使其功能发生了飞跃。更高的运算速度、超小型体积、更可靠的工业抗干扰设计、模拟量运算、PID功能及*的性价比奠定了它在现代工业中的地位。20世纪80年代初,可编程控制器在*工业国家中已获得广泛应用。这个时期可编程控制器发展的特点是大规模、高速度、高性能、产品系列化。这个阶段的另一个特点是世界上生产可编程控制器的国家日益增多,产量日益上升。这标志着可编程控制器已步入成熟阶段。
20世纪末期,可编程控制器的发展特点是更加适应于现代工业的需要。从控制规模上来说,这个时期发展了大型机和超小型机;从控制能力上来说,诞生了各种各样的特殊功能单元,用于压力、温度、转速、位移等各式各样的控制场合;从产品的配套能力来说,生产了各种人机界面单元、通信单元,使应用可编程控制器的工业控制设备的配套更加容易。目前,可编程控制器在机械制造、石油化工、冶金钢铁、汽车、轻工业等领域的应用都得到了长足的发展。
我国可编程控制器的引进、应用、研制、生产是伴随着改革开放开始的。最初是在引进设备中大量使用了可编程控制器。接下来在各种企业的生产设备及产品中不断扩大了PLC的应用。目前,我国自己已可以生产中小型可编程控制器。上海东屋电气有限公司生产的CF系列、杭州机床电器厂生产的DKK及D系列、大连组合机床研究所生产的S系列、苏州电子计算机厂生产的YZ系列等多种产品已具备了一定的规模并在工业产品中获得了应用。此外,无锡华光公司、上海乡岛公司等中外合资企业也是我国比较著名的PLC生产厂家。可以预期,随着我国现代化进程的深入,PLC在我国将有更广阔的应用天地。
何为PLC的周期扫描机制?PLC的扫描周期一般包括哪几个阶段?
当PLC运行时,CPU就要执行用户程序中的操作。但是CPU不可能同时执行多个操作,只能分时地一个操作一个操作地执行。PLC利用系统软件在其内部建立了输入输出映像区,当PLC的CPU执行用户程序时,从输入映像区中读取输入信号的状态,进行相应的操作。当CPU执行完*个操作后,将操作结果输出到输出映像区,然后再执行第二个操作,操作结果送到输出映像区。在程序执行过程中,PLC并不读取输入信号的真正状态,执行结果也并没有输出到PLC外部。只有当程序执行到结束指令(END)时,将输出映像区中执行结果向PLC外部输出一次,将输入信号的状态读取一次送到输入映像区。对输入输出信号的这一操作过程称为I/O刷新。I/O刷新完成后,CPU再从用户程序的*条指令开始,进行下一次程序执行。PLC的这种工作方式被称为扫描方式。
PLC的扫描周期包括上电后初始处理、共同处理、上位链接服务、外设服务、运算处理、I/O刷新。
PLC执行程序的过程分为哪三个阶段?
PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段,PLC的扫描工作过程:
(1)输入采样阶段。在这一阶段中,PLC以扫描方式读入所有输入端子上的输入信号,并将各输入状态存入对应的输入映像寄存器中。此时,输入映像寄存器被刷断。在程序执行阶段和输出刷新阶段中,输入映像存储器与外界隔离,其内容保持不变,直至下一个扫描周期的输入扫描阶段,才被重新读入的输入信号刷新。可见,PLC在执行程序和处理数据时,不直接使用现场当时的输入信号,而使用本次采样时输入到映像区中的数据。一般来说,输入信号的宽度要大于一个扫描周期,否则可能造成信号的丢失。
(2)程序执行阶段。在执行用户程序过程中,PLC按照梯形图程序扫描原则,一般来说,PLC按从左至右、从上到下的步骤逐个执行程序。但遇到程序跳转指令,则根据跳转条件是否满足来决定程序跳转地址。程序执行过程中,当指令中涉及输入、输出状态时,PLC就从输入映像寄存器中“读入”对应输入端子状态,从输出映像寄存器“读入”对应元件(“软继电器”)的当前状态。然后进行相应的运算,运算结果再存入输出映像寄存器中。对输出映像寄存器来说,每一个元件(“软继电器”)的状态会随着程序执行过程而变化。
(3)输出刷新阶段。程序执行阶段的运算结果被存入输出映像区,而不送到输出端口上。在输出刷新阶段,PLC将输出映像区中的输出变量送入输出锁存器,然后由锁存器通过输出模块产生本周期的控制输出。如果内部输出继电器的状态为“1”,则输出继电器触点闭合,经过输出端子驱动外部负载。全部输出设备的状态要保持一个扫描周期。
PLC的响应时间概念,响应时间在不同输出方式下的区别
什么是PLC的响应时间?在输出采用循环刷新和直接刷新方式时,响应时间有何区别?
从PLC收到一个输入信号到PLC向输出端输出一个控制信号所需的时间,就是PLC的响应时间,使用循环刷新时,在一个扫描周期的刷新阶段开始前瞬间收到一个信号,则在本周期内该信号就起作用了,这时响应时间最短,等于输入延时时间、一个扫描周期时间、输出延迟时间三者之和;如果在一个扫描周期的I/O更新阶段刚过就收到一个信号,则该信号在本周期内不能起作用,必须等到下一个扫描周期才能起作用,这时响应时间最长,它等于输入延迟时间、两个扫描周期时间与输出延迟时间三者之和;在使用直接输出刷新时,最长响应时间等于输入延迟时间、一个扫描周期时间、输出延迟时间三者之和。
6ES7902-2AB00-0AA0