浔之漫智控技术有限公司 长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时,并且备有大量库存.长期有效七台河西门子授权PLC模块总代理七台河西门子授权PLC模块总代理①S7-300/400的累加器装载与传送
在S7-300/400中,数据的装载、传送与移动可以使用不同的指令来实现。装载、传送在梯形图中也只能以指令表的形式进行显示。
a.数据装载。S7-300/400的数据装载可以使用**的装载指令L(Load)来执行装载操作,一般情况下是直接将*的数据移动到累加器1中,累加器1原有的内容自动移动到累加器2中。
装载数据的实际长度取决于指令中所*的数据源,如:使用指令LMB**时,数据长度为1字节;使用指令LMW**时,数据长度为2字节(字);使用指令LMD**时,数据长度为4字节(双字)。
当装载数据的长度为1字节或2字节(字)时,数据被存储在累加器1的低字节或低字上,累加器1的高字节或高字上自动填入0。
S7-300/400的装载操作可以使用直接数据,如:
L 15:装载十进制常数15;
L L#5366:装载双字长常数5366;
L B#16#A7:装载1字节十六进制数A7;
L W#16#FD32:装载2字节十六进制数FD32;
L DW#16#FD32A453:装载4字节十六进制数FD32A453;
L 2#0011_1110_1100_111:装载2字节二进制数0011110110011111;
L 2.5378e 12:装载32位浮点数2.5378e 12;
L 'XYZW':装载ASCII字符XYZW;
L TOD#12:30:3.02:装载时间值12时30分3.02秒;
L D#2006-11-25:装载日期值2006年11月25日;
L C#50:装载计数器值50;
L T#1M20S:装载定时器值1分20秒;
L S5T#20S:装载S5格式的定时器值20秒;
L P#M5.6:装载二进制位地址M5.6。
也可以使用直接寻址的地址,如:
L IB0:装载输入字节IB0;
L IW0:装载输入字IW0;
L ID0:装载输入双字ID0;
L T5:装载定时器T5的当前时间值;
IC T5:以BCD格式装载定时器T5的当前时间值;
L C5:装载计数器C5的当前计数值;
LC C5:以BCD格式装载计数器C5的当前计数值。还可以是用间接寻址,如:
L IB【LD10】:装载由LD10确定的输入字节IB;
L IW【AR1,P#8.0】:装载由地址寄存器AR1与指针P#8.0确定的输入字IW。有关间接寻址的有关内容前边已予介绍。
b.数据传送。S7-300/400的数据传送可以使用**的传送指令T(Transfer)来执行传送操作,可以直接将累加器1的内容移动到*的位置,累加器1的内容保持不变。
传送数据的实际长度取决于指令中所*的目标存储器的数据长度,可以为1字节、2 字节(字)、4字节(双字)数据。
当数据长度为1字节或2字节(字)时,被传送的是累加器1的低字节或低字数据。当数据传送的目标为直接输出PQ时,将同时修改PLC的输出映像内容。S7-300/400的传送操作可以使用直接寻址的地址,如:
T MBO:累加器1的低字节(8位)内容被传送到标志字节MBO;T QW0:累加器1的低字(16位)内容被传送到输出字QW0;T DBD20:累加器1的双字(32位)内容被传送到数据块的D20。也可以使用间接寻址,如:
T 【LD10】:累加器1的低字节内容被传送到由LD10确定的输出字节;T MW【AR1,P#8.0】:累加器1的低16位内容被传送到由地址寄存器AR1与指针P#8.0确定的标志字MW。
②S7-300/400的地址寄存器的装载、传送
在S7-300/400中,装载也可以对地址寄存器进行。但是,地址寄存据的装载,应以地址寄存器AR1、AR2作为移动的目标位置;地址寄存器的传送,应以地址寄存器AR1、AR2作为源数据。因此,相应的装载指令为LAR1、LAR2;传送指令为TAR1、TAR2。应注意使用的指令与累加器装载、传送之间的区别,如:
LAR1 LDlo:将局部变量LD10装入地址寄存器ARl;
LAR1:将累加器1的内容装入地址寄存器AR1;
LAR1P#M2.0:将二进制地址指针M2.0装人地址寄存器AR1;
LAR1P#2.0:将二进制地址指针2.0装入地址寄存器ARl;
TAR1:将地址寄存器AR1的内容传送到累加器1;
TAR1LD10;将地址寄存器AR1的内容传送到LD10;
CAR:交换寄存器 AR1、AR2的内容。
③S7-300/400的数据移动
S7-300/400的数据移动通过指令MOVE实现,格式与S7-200相似,如图3-71所示
源数据或目标存储位置可以是常数、存储器地址、间接寻址存储器等;字长可以是字节B、字 W、双字D、浮点数R等。程序中的源数据与目标存储位置的字长必须相同。
开放式PLC的概念及设计
目前,国内用户选用的可编程控制器(PLC)仍以国外产品为主,造成这种局面的一个重要原因是欧、美、日等发达工业国家掌握了PLC的**技术,其硬软件技术对应用者来说完全是封闭的,使用者只能从应用的度学习PLC,而不能参与PLC的开发[1-2]。近年来,IEC61131-3标准的颁布和实施为各PLC生产厂家提供了统一的软件开发准则,开放的高性能单片机技术的发展,为硬件开发提供了有效的物质基础[3]。在这样的背景下,研制开放的PLC系统无论对于科学研究还是促进PLC行业的发展都有积的现实意义。
PLC是一种于工业控制的计算机,其硬件主要由*处理器、存储器、输入/输出接口等组成[4],其硬件结构如图1所示。
1 开放式可编程控制器
开放式PLC硬件结构采用CPU+模块+接口构成,各个接口都按标准设计,大大提高了PLC的开放性,使其能方便地与大系统连接。编程语言遵循标准IEC61131-3,并将基于PC的编程软件作为PLC编程工具。系统硬件部分采用高性能51内核处理器STC89C51,其为模块化设计,采用滤波、隔离电路,以降。主要电路有:微控制器STC89C51RC、开关量输入电路、继电器输出电路、晶体管输出电路、RS232通信接口电路、电源电路、时钟复位电路和USB通信接口电路等,PLC硬件系统框图如图2所示,软件采用Borland公司集成开发软件C++ Builder,通过集成平台对51内核处理器指令集进行解释、编译,使梯形图语言转换为能被51内核处理器识别的代码。
2 系统硬件设计
可编程控制器单片机部分电路图如图3所示。
USB通信部分选择Philips公司的PDIUSBD12[5]芯片作为系统的USB接口器件,片内集成了高性能USB接口电路、SIE、FIFO存储器、收发器以及电压调整器等,可与任何外部控制器或微处理器实现高速并行通信,其速率为2 Mb/s,完**够满足设计所要求的速度。USB通信接口模块电路如图4所示。
3 系统软件设计
系统软件结构如图5所示。图中,系统编辑模块为用户提供编辑环境,接收用户的梯形图程序输入,并将其存储为相应的文件。梯形图语言为一种图形语言,要直接对其进行编译十分困难,因此并不是直接对梯形图程序进行编译,而是先将其翻译成指令语言的文本形式,再对指令语言进行编译。图形语言编译问题的解决,提高了代码的利用率[6-7]。通过提取数据结构中的数据,形成C语言程序文件,经过C51编译器、连接器、转换器的编译、连接、转换过程,生成能够在PLC硬件上运行的可执行文件。
3.1 用户界面
PLC用户界面是实现可编程人机交互的重要部分,它以梯形图语言的形式录入用户控制程序,以二进制形式通过串口下载到PLC硬件,其梯形图表示的用户编程区如图6所示。
PLC在进行逻辑运算之前,必须对外部信号进行采样[8],若要实现指令的功能,首先要设置外部I/O在梯形图中的地址,系统才能够对用户程序中所使用的I/O地址与单片机的引脚地址相匹配。本设计在I/O设置对话框底层设计了如表1所示的数据处理函数。
3.2 USB通信
PDIUSBD12的固件设计成完全的中断驱动,当CPU处理前台任务时,USB的传输可在后台进行;后台中断服务程序和前台主程序循环之间的数据交换可以通过事件标志和数据缓冲区来实现。当PDIUSBD12从USB收到一个数据包,即对CPU产生一个中断请求,CPU立刻响应中断。在中断服务程序中,固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并将PDIUSBD12的内部缓冲区清零,以便接收新的数据包,使CPU可以继续执行当前的前台任务直到完成。本文利用PDIUSBD12的端点1进行命令的传输和应答,端点1每次接收计算机发送过来的8 B指令,其指令格式如表2所示。例如,接收到十六进制码52 01 00 03 00 07 00 50,表示读24C01器件从03字节开始的7个字节的数据。52H为R的ASCII码,57H为W的ASCII码。端点2用于数据的传输。
本文在了解PLC国内外研究状况以及其市场需求的基础上,提出了研发开放式PLC的概念,完成了PLC集成开发系统的C51模块实现方案的设计,将USB通信方式引入PLC领域,所设计的梯形图编辑器提供了梯形图编辑平台,实现了PLC的基本逻辑指令,完成计算机与控制器的USB通信。
6ES72111BE400XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI 6ES72111AE400XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI 6ES72111HE400XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI 6ES72121BE400XB0 CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI 6ES72121AE400XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI 6ES72121HE400XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI 6ES72141BG400XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI 6ES72141AG400XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI 6ES72141HG400XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI 6ES72151BG400XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO 6ES72151AG400XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO 6ES72151HG400XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO 6ES72171AG400XB0 CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO