7
西门子模块6ES223-1BM22-0XA8正品销售
PLC系统中的存储器主要用于存放系统程序、用户程序和工作状态数据。PLC的存储器包括系统存储器和用户存储器。
(1)系统存储器
系统存储器用来存放由PLC生产厂家编写的系统程序,并固化在ROM内,用户不能更改。它使PLC具有基本的功能,能够完成PLC设计者规定的各项工作。系统程序质量的好坏很大程度上决定了PLC的性能。
(2)用户存储器
用户存储器包括用户程序存储器(程序区)和数据存储器(数据区)两部分。用户程序存储器用来存放用户针对具体控制任务采用PLC编程语言编写的各种用户程序。用户程序存储器根据所选用的存储器单元类型的不同(可以是RAM、EPROM或EEPROM存储器),其内容可以由用户修改或增删。用户数据存储器可以用来存放(记忆)用户程序中所使用器件的ON/OFF状态和数据等。用户存储器的大小关系到用户程序容量的大小,是反映PLC性能的重要指标之一。
为了便于读出、检查和修改,用户程序一般存于CMOS静态RAM中,用锂电池作为后备电源,以保证掉电时不会丢失信息。为了防止干扰对RAM中程序的破坏,当用户程序经过运行正常,不需要改变,可将其固化在只读存储器EPROM中。现在有许多PLC直接采用EEPROM作为用户存储器。
工作数据是PLC运行过程中经常变化、经常存取的一些数据。存放在RAM中,以适应随机存取的要求。在PLC的工作数据存储器中,设有存放输入输出继电器、辅助继电器、定时器、计数器等逻辑器件的存储区,这些器件的状态都是由用户程序的初始设置和运行情况而确定的。根据需要,部分数据在掉电时用后备电池维持其现有的状态,这部分在掉电时可保存数据的存储区域称为保持数据区。
由于系统程序及工作数据与用户无直接联系,所以在PLC 产品样本或使用手册中所列存储器的形式及容量是指用户程序存储器。当PLC提供的用户存储器容量不够用,许多PLC还提供有存储器扩展功能。
存储器主要有两种:一种是可读/写操作的随机存储器RAM,另一种是只读存储器或可擦除可编程的只读存储器ROM、PROM 、EPROM 和EEPROM。


PLC的工作方式和通用微机不完全一样,因此用PLC设计自动控制系统与微机的控制系统的开发过程也不完全一样。需要根据PLC的特点,以程序形式来体现其控制功能。设计可按照下图中几个步骤进行。
1.确定控制对象及控制范围
详细了解被控对象的控制要求,确定必须完成的动作及完成的顺序,归纳出工作循环和状态流程图。
2.PLC型号的选定
根据生产工艺要求,分析被控对象的复杂程度,进行I/O点数和I/O点的类型(数字量、模拟量等)统计,列出清单。适当进行内存容量的估计,确定适当的留有余量而不浪费资源的机型(小、中、大形机器)。并且结合市场情况,考察PLC生产厂家的产品及其售后服务、技术支持、网络通信等综合情况,选定价格性能比较好的PLC机型。
3.硬件设计
根据所选用的PLC产品,了解其使用的性能。按随机提供的资料结合实际需求,同时考虑软件编程的情况进行外电路的设计,绘制电器控制系统总装配图和接线图。
4.软件设计
(1)在进行硬件设计的同时可以同时着手软件的设计工作。软件设计的主要任务是根据控制要求将工艺流程图转换为梯形图,这是PLC应用的较关键的问题,程序的编写是软件设计的具体表现。在程序设计的时候建议将使用的软继电器(内部继电器、定时器、计数器等)列表,标明用途以便于程序设计、调试和系统运行维护,检修时候查阅。
(2)程序初调也成为模拟调试。将设计好的程序通过程序编辑工具下载到PLC控制单元中。由外接信号源加入测试信号,通过各种状态指示灯了解程序运行的情况,观察输入/输出之间的变化关系及逻辑状态是否符合设计要求,并及时修改和调整程序,缺陷,直到满足设计的要求为止。
5.现场调试
在初调合格的情况下,将PLC与现场设备连接。在正式调试前全面检查整个PLC控制系统,包括电源、接地线、设备连接线、I/O连线等。在保证整个硬件连接的正确无误的情况下即可送电。把PLC控制单元的工作方式布置为“RUN”开始运行。反复调试可能出现的各种问题。在调试过程中也可以根据实际需求对硬件作适当老配合软件的调试。应保持足够长的运行时间使问题充分暴露并加以纠正。试运行无问题后可将程序固化在具有长久记忆功能的存储器中,并做备份(至少应该作2份)。问:我有一个改造项目新系统的313C plc需要从老系统上用MpI通讯读取一个模拟量和16个数字量的数据,现在问题是用定义全局数据通讯还是在新系统plc中用sfc67和sfc68通讯,是不是编程通讯比全局数据通讯速度快更稳定?请高手指点。(还要问一句如果用编程通讯的话怎么把定义好的全局数据给删除掉)如果不用全局数据的话,用编程,两个plc在组态里用不用连?是不是只用设置一下地址就行了吧?
答:全局数据通信是PLC之间进行的不需要编程通过MPI接口在CPU间循环地交换少量数据,当过程映像被刷新时,在循环扫描检测点上进行数据交换;而无组态的连接的MPI通信(编程通信)通过调用SFC67和SFC68来实现,MPI无组态连接就是MPI通信时,不需要组态,只要编写通信程序即可实现通信,PLC之间可以采用双边编程通信和单边编程通信方式,你这里应该是采用单边编程通信方式,因为CPU313C需要从老系统上用MpI通讯读取一个模拟量和16个数字量的数据,只要在CPU313C上进行编程就可以实现数据交换,编程通信要比全局的数据量要大,速度更快;
你首先必须把两个PLC之间的MPI端口连接起来,设定主站CPU313C的MPI通信参数(波特率187.5kbit/s)和主站的MP地址如“3”,不能与老的PLC的MPI地址重复,把两个站的波特率设定一样,各自下载到PLC中;因为你只想老系统上用MpI通讯读取一个模拟量和16个数字量的数据,在CPU313C中单边编程,在读取数据区只要*对方的PLC的MPI地址和数据区就可以了。
X_PUT(SFC68)为发送数据的指令,通过此指令将数据写入不在同一个本地S7站中的通信伙伴,其中DEST_ID为对方的MPI地址(这里指你的老系统PLC的MPI地址)和VAR_ADDR为对方的数据区,SD为本地数据区,必须保证SD参数定义的数据长度和数据类型与通信伙伴上VAR_ADDR一致;
X_GET(SFC67)为接收数据的指令,可以从本地站S7站以外的通信伙伴(这里指老系统上PLC站)中读取数据,其中参数DEST_ID和VAR_ADDR分别指对方的MPI地址和对方的数据区,RD为本机的数据区必须保证RD参数定义的接收区(CPU313C)至少和由VAR_ADDR参数定义的要读取的区域一样大,而且类型必须相匹配。
如果不想要全局数据通信,只要在硬件组态界面中选择菜单Options(选项)/Define bbbbbb Data“(定义全局数据)界面中,打开全局变量发送和接收组态,断口连接,执行保存编译,下载到PLC就可以了。
PLC以微处理器为核心,具有微机的许多特点,但它的工作方式却与微机有很大不同。
微机一般采用等待命令的工作方式工作。
PLC是按集中输入、集中输出,周期性循环扫描的方式进行工作的。每一次循环扫描所用的时间称为一个扫描周期。
对每个程序,CPU从**条指令开始执行,按顺序逐条地执行指令做周期性的程序循环扫描,如果无跳转指令,则从**条指令开始逐条顺序执行用户程序,直至结束又返回**条指令,如此周而复始不断循环。
PLC在每次扫描工作过程中除了执行用户程序外,还要完成内部处理、输入采样、通信服务、程序执行、自诊断、输出刷新等工作。PLC工作的全过程包括三个部分,即上电处理、扫描过程和出错处理。PLC工作的全过程可用图4所示的运行框图来表示。
PLC通电后,CPU在系统程序的控制下先进行内部处理,包括硬件初始化、I/O模块配置检查、停电保持范围设定及其他初始化处理等工作。
PLC有很强的自诊断功能,PLC每扫描一次执行一次自诊断检查,确定PLC自身的动作是否正常,如电源检测、内部硬件是否正常、程序语法是否有错等。如检查出异常时,CPU面板的LED及异常继电器会接通,在特殊寄存器中会存入出错代码;CPU能根据错误类型和程度发出信号,甚至进行相应的出错处理,使PLC停止扫描或强制变成STOP状态。
PLC运行正常时,扫描周期的长短与用户应用程序的长短、CPU的运算速度、I/O点的情况等有关。通常用PLC执行1KB指令所需时间来说明其扫描速度(一般1-10ms/KB)。值得注意的是,不同指令执行时间是不同的,故选用不同指令所用的扫描时间将会不同。若用于高速系统要缩短扫描周期时,可从软硬件上同时考虑。PLC周期性循环扫描工作方式的显著特点是:可靠性高、抗干扰能力强,但响应滞后、速度慢。