西门子自贡(中国)总代理
如何给PLC程序块上锁
FB,FC块
答:一、硬件组态中打开CPU的protection(保护)选项,选第三个设置(读写保护),设置密码后保存编译重新下载硬 件组态就可以了。
二、在Step7中, 可以先任意打开一块, 在"file"中选择"Generate Source"或快捷方式"Ctrl+T",弹出一个画面,填写"bbbbbb name"如"tt",按OK确认,就会再弹出另一个画面,左边是你的程序中所有的块,如果你需要保护哪些块, 就把这些块移到右边, 退出所有的程序块,再进入SIMATIC Manager中。
在S7 Program Sources找到文件tt,双击tt打开,在第四行中加入"Know_How_Protect", 编译, 无错后存盘。这样FB1、FB2就被保护住,如想去掉保护,在tt中去掉"Know_How_Protect"编译存盘即可。
注意: 千万不要丢失或删除源文件(如tt), 否则程序被保护, 用户可以另存到其它目录中,或Export Source到硬盘中,再删除源文件,这样别人只能看到未保护的块。
1. 打开程序编辑窗口LAD/FBD/STL;
2. 将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File—>Generate source 生成);
3. 在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4. 在程序块的声明部分,TITLE行下面的一行中输入" KNOW_HOW_PROTECT";
Compile);?Save,File?5. 存盘并编译该source文件(选择菜单File
6. 现在就完成了您程序块的加密保护;
如下图中表示了如何对STL source文件进行加密:
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
4. 现在程序块的加密保护已经取消
目前所运行一项目一直运行正常一年多,现发现一个问题,原来系统设备的启停是靠外面的启停按钮启停的,现场操作人员发现有时系统会自行启动设备,而操作人员没有任何操作。出现这种情况下按急停按钮也不起作用(正常情况下急停都起作用),当出现这种意外时去按停止按钮就能停下来。项目是300PLC+200PLC,两者之间Profibus-DP通讯。启停信号是进200PLC,*终设备的控制在300PLC内完成。
答:从你的描述“出现这种情况下按急停按钮也不起作用(正常情况下急停都起作用),当出现这种意外时去按停止按钮就能停下来"看,这个系统的设计存在很大的缺陷。急停按钮是起硬件保护功能的,当急停按下后,系统应无条件停机,而你的系统却会出现急停不起作用的问题。通常急停按钮的设计是用来直接切断24VDC输出控制电源的,不应通过PLC控制,但急停信号可供给PLC作故障诊断用。
系统原来能工作一年多正常,现会出现自动启动,而你的系统又恰恰是启停信号是进200PLC,*终设备的控制在300PLC内完成,这就很可能是通信受干扰所致了。建议你的通信总线电缆独立走线,不要与其它线路混行。当然**还是将程序认真的过一遍,看看是否有bug。
系统会自动启动,急停按钮又不起作用,这个系统真的风险很大,一旦出现安全事故后果不堪设想
在中断OB37中执行调用大量FC程序,是否影响OB1中正常程序的处理速度和其它中断程序的速度?对CPU的运行有何影响?
答:1、在中断OB37中执行调用大量FC程序,是否影响OB1中正常程序的处理速度和其它中断程序的速度?
a、组织块是按系统已分配的中断优先级来执行,数字越大优先级越高,优先级高的可以中断优先级低的。
b、一般OB1的默认为1级,OB30-OB38默认为7-15级,OB37为14级。数字越大优先级越高。
c、OB37中执行调用大量FC程序,则其就占用CPU时间长,肯定会响应对OB1中或其他中断的程序的扫描(执行)。
2、对CPU的运行有何影响?
对CPU本身的运行没有任何影响,即CPU运行哪个程序是有系统操作系统来分配的。CPU只是一个执行“机构"而已。这个问题提得不专业,在此不要纠缠这个问题了。望注重下述问题的讨论,即这个问题应这样提出:“对于你的控制系统的实时性是否有影响?"。
3、对于控制系统的实时性是否有影响?