平凉西门子(中国)授权总代理商
西门子PLC的选型:
在PLC设计时,应确定控制方案,下一步工作就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、的,按照易于与工业控制形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟可靠的,PLC的硬件、配置及功能应与装置规模和控制要求相适应。熟悉可编程序控制器、功能表图及有关的编程语言有利于缩短编程时间,工程设计选型和估算时,应详细分析工艺的特点、控制要求,明确控制任务和范围确定所需的操作和,根据控制要求,估算输入输出点数、所需存储器容量、确定PLC的功能、外部设备特性等,后选择有较高性能价格比的PLC和设计相应的控制。
一、输入输出(I/O)点数的估算
I/O点数估算时应考虑适当的余量,通常根据统计的输入输出点数,再10%~20%的可扩展
余量后,作为输入输出点数估算数据。实际订货时,还需根据制造厂商PLC的产品特点,对输入输出点数进行圆整。
二、存储器容量的估算
存储器容量是可编程序控制器本身能提供的硬件存储单元大小,程序容量是存储器中用户应用项目使用的存储单元的大小,程序容量小于存储器容量。设计阶段,由于用户应用程序还未编制,程序容量在设计阶段是未知的,需在程序调试之后才知道。为了设计选型时能对程序容量有一定估算,通常采用存储器容量的估算来替代。
存储器内存容量的估算没有固定的公式,许多文献资料中给出了不同公式,大体上都是按数字量I/O点数的10~15倍,加上模拟I/O点数的100倍,以此数为内存的总字数(16位为一个字),再按此数的25%考虑余量。
三、控制功能的选择
该选择包括运算功能、控制功能、通信功能、编程功能、诊断功能和处理速度等特性的选择。
(一)运算功
简单PLC的运算功能包括逻辑运算、计时和计数功能;普通PLC的运算功能还包括数据移位、比较等运算功能;较复杂运算功能有代数运算、数据传送等;大型PLC中还有模拟量的PID运算和其他运算功能。随着开放的出现,目前在PLC中都已具有通信功能,有些产品具有与下位机的通信,有些产品具有与同位机或机的通信,有些产品还具有与工厂或企业网进行数据通信的功能。设计选型时应从实际应用的要求出发,合理选用所需的运算功能。大多数应用,只需要逻辑运算和计时计数功能,有些应用需要数据传送和比较,当用于模拟量检测和控制时,才使用代数运算,数值转换和PID运算等。要显示数据时需要译码和编码等运算。
(二)控制功能
控制功能包括PID控制运算、前馈补偿控制运算、比值控制运算等,应根据控制要求确定。PLC主要用于顺序逻辑控制,大多数常采用单回路或多回路控制器解决模拟量的控制,有时也采用的智能输入输出单元完成所需的控制功能,PLC的处理速度和节省存储器容量。例如采用PID控制单元、高速计数器、带速度补偿的模拟单元、ASC码转换单元等。
(三)通信功能
大中型PLC应支持多种现场总线和通信协议(如TCP/IP),需要时应能与工厂网(TCP/IP)相连接。通信协议应符合ISO/IEEE通信,应是开放的通信网络。
PLC的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信口、工业以太网、常用DCS接口等;大中型PLC通信总线(含接口设备和电缆)应1:1冗余配置,通信总线应符合,通信距离应装置实际要求
PLC的通信网络中,上级的网络通信速率应大于1Mbps,通信负荷不大于60%。PLC的通信网络主要形式有下列几种形式:1)PC为主站,多台同型号PLC为从站,组成简易PLC网络;2)1台PLC为主站,其他同型号PLC为从站,构成主从式PLC网络;3)PLC网络通过特定网络接口连接到大型DCS中作为DCS的子网;4)PLC网络(各厂商的PLC通信网络)。
为减轻CPU通信任务,根据网络组成的实际需要,应选择具有不同通信功能的(如点对点、现场总线、工业以太网)通信处理器。
(四)编程功能
离线编程:PLC和编程器公用一个CPU,编程器在编程时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行,CPU对现场设备进行控制,不能进行编程。离线编程可成本,但使用和调试不方便。在线编程:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种成本较高,但调试和操作方便,在大中型PLC中常采用。
五种化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守其(IEC6113123),还应支持多种语言编程形式,如C,Basic等,以特殊控制的控制要求。
(五)诊断功能
PLC的诊断功能包括硬件和的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,诊断分内诊断和外诊断。通过对PLC内部的性能和功能进行诊断是内诊断,通过对PLC的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断
我有一个改造项目新系统的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 Global Data“(定义全局数据)界面中,打开全局变量发送和接收组态,断口连接,执行保存编译,下载到PLC就可以了
使用 PID 指令向导编程时,指令向导会自动调用 PID 指令,并且编写外围的控制变量标准化换算、定时采样等功能。用户在使用 PID指令向导时,需要在用户程序中用 SM0.0 调用指令向导生成的子程序(如 PIDx_INIT 子程序)。PID向导可以生成带自动/手动切换功能的子程序,这个子程序使用一个数字量点为“1”、“0”的状态来控制是否投入 PID自动控制。
到目前为止(STEP 7-Micro/WIN V4.0 SP5),使用 PID 向导生成的子程序时,由于用户程序不能直接使用PID指令,它的无扰切换能力因为隔了外壳子程序,受到了局限。如果对无扰切换要求比较严格,需要编一些程序加以处理。
考察如下 PID 控制子程序。
图 1. PID 向导生成的指令
图中:
a.过程反馈量
b.设定值,实数
c.自动/手动控制,“1”=自动,“0”=手动
d.手动控制输出值,0.0 - 1.0 之间的一个实数
e.PID 控制输出值
要实现无扰动切换,必须:
.在从自动向手动切换时,使手动输出值(VD2004)等于当前的实际控制输出值;
.在从手动向自动切换使,使设定值相当于当前的过程反馈值。
为此,可编写类似下图所示的程序,放在 PID 控制子程序之前:
图 2. 无扰切换处理程序
图中:
a.自动/手动切换控制点
b.从自动向手动切换时,使手动输出值等于实际当前值
c.从手动向自动切换时,把当前反馈量换算为相应的给定值
上述程序中的 Scale_I_to_R就是量程变换指令库中的子程序。这是为了解决过程反馈与设定值之间的换算问题。用户也可以自己编程换算,或者根据反馈与给定的取值范围决定是否需要换算。
此段程序适用于 STEP 7-Micro/WIN V4.0 SP5及以前版本,仅供参考,如果在实际项目中使用,上述程序未必一定适用。用户需要根据实际工艺决定自己的编程思路