浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
SIEMENS/西门子6ES7222-1HF22-0XA8
发布时间:2024-05-08

SIEMENS/西门子6ES7222-1HF22-0XA8

定位系统的运行是通过执行必需的控制实现的。(执行控制所需的数据是按接通电源时的默认值给出的,需要时可以通过顺控程序修改。) 

控制是对系统数据或机器运行进行的。 

• 控制系统数据: 

设置和复位Q系列三菱plc的QD75设置数据(通过系统控制数据 Cd.1 和 Cd.2 ) 

• 控制运行: 

设置运行参数、运行期间变速、中断或重新起动运行(通过轴控制数据 Cd.3 至Cd.40 ) 


设置用于定义定位运行的单位。依据控制目标类型的不同,从下列单位中选择:毫米、 英寸、度或脉冲。不同的轴(轴 1至 4)可以定义不同的单位。 

(例子)不同的单位(毫米、英寸、度和脉冲)适用于不同的系统: 

毫米或英寸....X-Y工作台、传送带(依据机器规格选择毫米或英寸。) 

度...................旋转体(360 度/旋转) 

脉冲...............X-Y工作台、传送带 

当你更改单位时,注意其它参数和数据的值不会自动变化。 

在更改单位后,检查参数和数据值是否在容许范围之内。 

设置以“度”为单位来执行速度-位置切换控制(ABS模式)。 


设置电动机轴完成旋转需要的脉冲数。 

如果你使用 Mitsubishi伺服放大器 MR-H、MR-J2/J2S或 MR-C,则应按速度/位置

检测器规格中给出的“伺服电动机每一转的分辨率”设置每一转的脉冲数。 

每一转的脉冲数(Ap)=伺服电动机每一转的分辨率

众所周知:低压控制电路中,停止、急停按钮基本都是采用常闭触点。而在plc控制上,许多同仁不以为然,“反正无论是常开常闭触点都能实现”这一思想往往酿成大的损失!
     简单PLC控制电机的例子:停止按钮采用常闭触点,如果停止按钮接触不好,那就能保证电机处于停止状态,无论对设备还是对人都是安全的;反之,如果停止按钮采用常开触点,万一该按钮接触不好,想停机都不能保证马上停止下来,岂不是个安全隐患!
     上面说的是输入点,再说一下输出点。
     曾给一冶金行业做除尘控制系统,该除尘风机是由10KV额定电压的电机经液力耦合器带动的,该电机的保护自然不少:震动、前后轴承温度、定子温度、冷却水温度......我们控制系统就是将这些信号采集,与其设定报警值比较,如果达不到要求,就不给电机发送“允许运行”的信号,达到了就发去信号。实际就是PLC输出控制一中继,中继的触点串在电机的控制回路中。当时为调试方便,就将该信号采用了中继的常闭触点,以为即使PLC不工作,也不影响电机的启动(因为当时plc编程尚未完成,而业主已经将电机厂家叫到现场要求试电机)。结果被电机厂家(这是大连的一家电机厂)的技术人员发现了,他给我们讲了一件他刚刚碰到的事。他到另外一厂去调试,他们在现场仪表上看到轴瓦明明已经超温了,可电机依然在运转,导致价值几十万的轴瓦全烧坏。后来经检查,就是触点选择了常闭的,而PLC根本就没有投入运行。所以业主和该技术员要求我们必须采用常开触点!
     想一想也是,如果选择常开触点的话,PLC不投入运行就不会允许电机启动。PLC投入运行了,如果各采集数据达到要求,就让中继得电,常开触点动作,电机控制回路接通,允许电机运行;如果各采集数据达不到要求,中继失电,常开触点保持断开状态,切断电机的控制回路,从而保证电机停止运行。

plc数字量就是我们手动按的按钮来控制什么东西,这样方式传入给plc就是数字量。当向长度测量啊、温度测量啊、压力测量啊好多不能用人手直接控制,以其它方式来采取数值的方式,在给PLC的,我们把这样方式就叫模拟量控制。就想电脑的网络一样。要在数控系统中编程的话,它应该有向电脑一样的显示器或编程器,让我们手动来编程和修改程序,如果没有的话,说明你们只能用它们已经编好的程序,这样呢,就是说已经有人把程序传入到PLC中了(PLC是一个实物在机器里面,你应该能看的到)但像你们数据,应该是自己编程来输入你们想要的数据,我想你们是可以自己编程的,你好好找找。
1、数字量
在时间上和数量上都是离散的物理量称为数字量。把表示数字量的信号叫数字信号。把工作在数字信号下的电子电路叫数字电路。
例如:用电子电路记录从自动生产线上输出的零件数目时,每送出一个零件便给电子电路一个信号,使之记1,而平时没有零件送出时加给电子电路的信号是0,所在为记数。可见,零件数目这个信号无论在时间上还是在数量上都是不连续的,因此他是一个数字信号。小的数量单位就是1个。
2、模拟量
在时间上或数值上都是连续的物理量称为模拟量。把表示模拟量的信号叫模拟信号。把工作在模拟信号下的电子电路叫模拟电路。
例如:热电偶在工作时输出的电压信号就属于模拟信号,因为在任何情况下被测温度都不可能发生突跳,所以测得的电压信号无论在时间上还是在数量上都是连续的。而且,这个电压信号在连续变化过程中的任何一个取值都是具体的物理意义,即表示一个相应的温度
难道就这样束手无策,听任仿制者为所欲为了吗?答案是否定的,多年来一直关注和研究plc控制程序保护方面的问题,笔者在实践中取得了一些经验和心得,在本文中愿意和同行们共同分享和讨论,大家共同为保护自己的劳动成果而努力。笔者多年来一直从事西门子SIAMTIC S7 PLC的应用,因此本文也只是从纯粹的技术层面出发,重点探讨SIMATIC S7 PLC控制程序的保护。
一、在系统设计的初期,我们应该从系统的角度来考虑PLC控制程序的保护:
1. T.I.A(全集成自动化)的概念有助于保护我们的KNOW HOW
T.I.A实现了组态和编程,数据管理和通讯,自动化与驱动产品(包括PLC控制器、hmi人机界面、网络、驱动器等产品)的高度集成。实践证明,采用T.I.A集成概念设计的控制系统很难被抄袭。同一个软件平台,相同的硬件组成,一样的总线通讯,完全可以设计出截然不同的控制系统,这是一个让开发者自由发挥的平台。例如,一个CPU315-2DP和2个MM440变频器进行PROFIBUS-DP的通讯,除了PLC和变频器有常规的数据交换,如果用户使用了DRIVES ES的工程软件,还能实现2个MM440之间的直接的快速数据交换,另外通过DRIVES ES还能实现PLC和MM440之间超过10个总共16个PZD过程数据的交换,实现PLC批量下载变频器参数的功能。而这一切的实现从表面上看,硬件没有发生任何的变化,仿制者很难从硬件上来判断出系统是如何控制这两台驱动器的速度的。不熟悉西门子产品的仿制者无法轻易更换硬件配置或修改软件,而即使仿制者是个西门子产品的专家,要独自分析清楚具体细节问题也不是件容易的事情。从某种程度上说,T.I.A大大提高了对仿制者的技术水平要求的门槛,达到西门子系统集成专家水平的技术人员一是不多,二很少有愿意做这些不齿的事情的。
此外,对于一些较大系统的OEM开发商,路由通讯功能,iMAP软件包等都是很不错的T.I.A系统功能或工具,我们应该尽量利用T.I.A给我们带来的技术优势,占领技术制高点,加大仿制或抄袭的技术难度。
2. 使用通讯功能
在实际的工作中,我们往往会遇到一些系统间需要数据交换的问题(如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之间进行少量数据交换,通过这些数据实现子系统控制逻辑的互锁。对于这样的系统,仿制者要分析某一子系统的程序也不是件十分容易事情。
3. 使用面板类型的人机界面
尽量在自动化系统中使用面板类型的人机界面来代替单一的按钮指示灯,虽然按钮指示灯的功能是无法保密的,但目前为止,面板型人机界面能够实现程序上载并实现反编译的产品还不多见,开发者可以在面板的画面上加上明显的厂家标识和联系方式等信息,仿制者还不至于傻到连这个也原样照抄吧。这样迫使仿制者必须重新编写操作面板的程序甚至于PLC的程序,而开发者则可利用面板和PLC数据接口的一些特殊功能区(如西门子面板的区域指针,或VB脚本)来控制PLC的程序执行。这样的PLC程序在没有HMI源程序的情况下只能靠猜测和在线监视来获取PLC内部变量的变化逻辑,费时费力,极大的增加了仿制抄袭的难度。
4. 采用语言编写部分重要的工艺程序
这一点主要针对采用S7-300/400或WINAC产品的控制设备,除了使用STEP 7提供的LAD,STL,FBD标准编程语言来开发控制程序,我们还可以使用SCL,S7-GRAPH等语言来开发一些重要的工艺程序,WINAC还可以使用ODK软件包开发出专有的程序块。一般的仿制者是不容易搞到这些开发工具的,即使有也不一定会使用,更不用说来读懂这些程序了。 
二、在项目具体实施的过程中,我们应该从软件开发技巧的角度来考虑PLC控制程序的保护:
1. 编程方式的采用
a) 采用模块化的程序结构,采用符号名,参数化来编写子程序块
b) S7-300/400尽量采用背景数据块和多重背景的数据传递方式
c) 多采用间接寻址的编程方式
d) 复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序,可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。
用户应该尽量采用以上几种层次的编程方式,这样编出来的程序中嵌入系统的保护加密程序,才不容易被发现和破解
2. 主动保护方法
a) 利用系统的时钟
b) 利用程序卡或者CPU的ID号和序列号
c) 利用EEPROM的反写入功能,及一些需要设置的内存保持功能
d) 利用系统提供的累时器功能
e) 在用户程序的数据块中设置密码
f) 软件上设置逻辑陷阱
g) 可以反向利用自己在编程时犯的错误
3. 被动保护方法
a) 在内存容量利用许可的条件下,不要删除被认为是无用的程序
b) 在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证
4. 应用反破解技术的注意事项
a) 在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致
b) 往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应”,从而增加程序被破解的难度,时间与成本,短时间内让抄袭者束手无策,
c) 保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块
d) 做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用 
三、 运用保护手段的原则
我们虽然掌握了一些加密保护的手段,有一点必须明白,密码和锁的道理是一样的,天下没有打不开的锁,也没有解不开的密码,我们从技术上采取的措施来防止侵权的作用还是十分有限的,因此大家不能把所有的希望都寄托在所谓的加密技术或破解与反破解技术上;除此之外我们还可以通过专利的申请等其他诸如法律手段来保护我们的知识产权;但重要的是我们不能安于现状,而是要勇于创新,不断地利用新技术开发新产品,占领技术新高地,争做行业的领头人,才能使我们的企业立于不败之地。
加密保护技术本身也是一把双刃剑,用好了客户满意,自己的权益又悄悄的得到了保护,用不好不仅不起作用,给售后服务带来许多麻烦,还会得罪客户;好人掌握这种技术是用来保护自己不被侵权,而用心不良的人会利用它去要挟客户。因此本文也于讨论了关于PLC程序加密保护的一些原则性指导性的内容,而没有公布具体的程序代码指令,请读者们谅解。
谨以此文献给并鼓舞那些辛勤奋斗在开发生产一线为祖国自动化事业做出巨大贡献的诸多同行;同时谴责那些企图不劳而获,窃取他人劳动成果的仿制者侵权者


展开全文