使用通讯功能
在实际的工作中,我们往往会遇到一些系统间需要数据交换的问题(如PLC-PLC之间,PLC与驱动器之间,PLC与仪表之间),无论是西门子产品之间还是西门子产品与第三方产品之间,建议使用通讯的方案来代替模拟量或开关量之间的信号互连的方案。对于前者,仿制者只能看见一条硬件的通讯线,至于有多少数据是如何通过通讯交换的,仿制者必须要花精力研究具体的用户程序才能搞清楚;而对于后者,开发者是省心省力了,仿制者也是一目了然,尽收眼底。
PLC与驱动器的通讯,除了了控制字/状态字、设定值/反馈值及过程变量的数据通讯,驱动器工作的参数好也能由PLC通过软件下载,这样即可以降低终用户维护系统的技术要求,同时可以防止仿制者通过驱动器工作参数分析系统尤其在驱动方面的工作原理和设计思路。西门子公司的工程软件DRIVE ES BASIC/SIAMTIC,为广大的西门子产品用户实现此类功能提供了一个强大的工具;而使用SIMATIC PLC却使用第三方驱动器的用户,也可以自行开发针对性的参数读写程序,一般支持PROFIBU-DP的驱动器都可以实现。
有时候我们的控制系统会由多个子控制系统构成,由此形成多CPU加人机界面的网络,西门子S7-200产品常见的是PPI网络,S7-300/400产品常见的是MPI网络,通常是人机界面与CPU之间的数据交换,而我们也可在CPU的用户程序中添加一些无须组态的S7基本通讯功能(S7-200可用NETR/NETW指令,S7-300/400可以用X_PUT/X_GET指令),定时或不定时地在CPU之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。
可编程控制器的输入形式有多种,正确、合理的连接是plc正常运行的首要条件。输入端连接不当,不但会影响输入信号接收,严重时会损坏PLC的输入端。PLC输入端的连接必须根据它的输入线路而定,连接时应注意以下几种情况:
(1)输入是否需外接电源。
(2)输入串接电源类型:交/直流任意或指定交流。
(3)电源幅值和极性的要求
输出端连接与PLC输入端连接相似,开关量输出端的连接也取决于输出电路结构。当负载确定后,由负载电源的类型及控制动作频率选择PLC相应的输出模块。一般可供选择的模块有三种,即继电器、晶体管和晶闸管。其中,晶体管的动作频率高,晶闸管次之,继电器允许动作频率低。连接时应引起注意的是:
(1)负载电源类型交/直流任意或指定交流、直流。
(2)负载电源幅值和极性要求。
(3)负载容量及性质。
下面我们以FX2系列PLC的I/O设备连接为例来说明。FX2系列PLC的I/O点数量、类别随型号不同而不同,但I/O点数量比例及编号规则则完全相同。一般输入点与输出点数量之比为1∶1,FX2系列PLC的I/O点编号采用八进制,即00~07、10~17、20~27输入点前面加“X”,输出点前面加“Y”。
1、输入设备的连接
输入回路的连接如图1所示。输入回路的实现是COM通过具体的输入元件(按钮、转换开关、行程开关、继电器的触点、传感器等)连接到对应的输入点上,通过输入点X将信息送到PLC内部,一旦某个输入元件状态发生变化,对应输入点X的状态也就随之变化,这样PLC可随时检测到这些信息。
图1 输入回路的连接
2、输出设备的连接
输出回路就是PLC的负载驱动回路,输出回路的连接如图2所示。输出回路的实现中,PLC仅提供输出点,通过输出点将负载和负载电源连接成一个回路。这样负载的状态就可以由PLC的输出点进行控制,使输出点动作负载得到驱动。负载电源的规格应根据负载的需要和输出点的技术规格进行选择。
图2 输出回路的连接
实现输出回路时,应注意的事项如下:
(1)输出点的共COM问题。一般情况下,每个输出点应有两个端子,为了减少输出端子的个数,PLC在内部将其中的一个输出点采用公共端连接的方式连接,即将几个输出点的一端连接到一起,形成公共端COM。FX2系列PLC的输出点一般采用每4个点共COM连接,如图3所示。在使用时要特别注意,否则可能导致负载不能正确驱动。
图3 输出点的共COM连接
(2)输出点的技术规格。不同的输出类别有不同的技术规格。应根据负载的类别、大小、负载电源的等级及响应时间等因素选择不同类别的输出形式。要特别注意负载电源的等级和大负载的限制,以防止出现负载不能驱动或PLC输出点损坏等情况的发生。
(3)多种负载和多种负载电源共存的处理。同一台PLC的负载,负载电源的类别及电压等级可能不同。在连接负载时,应尽量让负载电源不同的负载不使用共COM的输出点。若要使用,应注意干扰和短路等问题。
3. 使用面板类型的人机界面
尽量在自动化系统中使用面板类型的人机界面来代替单一的按钮指示灯,虽然按钮指示灯的功能是无法保密的,但目前为止,面板型人机界面能够实现程序上载并实现反编译的产品还不多见,开发者可以在面板的画面上加上明显的厂家标识和联系方式等信息,仿制者还不至于傻到连这个也原样照抄吧。这样迫使仿制者必须重新编写操作面板的程序甚至于PLC的程序,而开发者则可利用面板和PLC数据接口的一些特殊功能区(如西门子面板的区域指针,或VB脚本)来控制PLC的程序执行。这样的PLC程序在没有HMI源程序的情况下只能靠猜测和在线监视来获取PLC内部变量的变化逻辑,费时费力,极大的增加了仿制抄袭的难度。
4. 采用语言编写部分重要的工艺程序
这一点主要针对采用S7-300/400或WINAC产品的控制设备,除了使用STEP 7提供的LAD,STL,FBD标准编程语言来开发控制程序,我们还可以使用SCL,S7-GRAPH等语言来开发一些重要的工艺程序,WINAC还可以使用ODK软件包开发出专有的程序块。一般的仿制者是不容易搞到这些开发工具的,即使有也不一定会使用,更不用说来读懂这些程序了。