首页 上一页 1 2 下一页 尾页

求助!西门子PLC FC 功能块怎么加密? 点击:9308 | 回复:40



鱼上岸的勇气

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 22回
  • 年度积分:0
  • 历史总积分:67
  • 注册:2005年4月02日
发表于:2005-05-11 21:54:00
楼主
希望各位前辈指点 多谢



jinpengtao

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 57回
  • 年度积分:0
  • 历史总积分:105
  • 注册:2008年3月29日
发表于:2009-04-18 15:24:29
21楼

我感觉没有必要加密!没次帮用户修改程序后都会归档备份,再次修改时总是发现程序和AS站不一致,我总是导出备份从新下载!哈哈,随便他动!

blockke

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 27回
  • 年度积分:65
  • 历史总积分:682
  • 注册:2007年9月18日
发表于:2009-05-02 23:57:10
22楼

能看明白下面这段程序吗?如果能的话,你就会觉得没有必要加密程序了,再难的程序加密后也没有用。改造老外设备时,我上载上来的,上位机是触摸屏,没有源程序,只能全靠上载上来的没有任何注释的下位机来分析工作控制流程。上载上来时,该功能块就是加密的。我解开后分析完了。

FUNCTION FC 169 : VOID
TITLE =
AUTHOR :
FAMILY :
NAME :
VERSION : 1.0


VAR_INPUT
IN0 : BOOL ;
END_VAR
VAR_IN_OUT
OUT_ST16 : BOOL ;
Struct_Len16 : STRUCT
Struct_1 : BOOL ;
Struct_2 : BOOL ;
Struct_3 : BOOL ;
Struct_4 : BOOL ;
Struct_5 : BOOL ;
Struct_6 : BOOL ;
Struct_7 : BOOL ;
Struct_8 : BOOL ;
Struct_9 : BOOL ;
Struct_10 : BOOL ;
Struct_11 : BOOL ;
Struct_12 : BOOL ;
Struct_13 : BOOL ;
Struct_14 : BOOL ;
Struct_15 : BOOL ;
Struct_16 : BOOL ;
END_STRUCT ;
END_VAR
BEGIN
NETWORK
TITLE =

AN #Struct_Len16.Struct_16;
= #Struct_Len16.Struct_15;

SET ;
R #Struct_Len16.Struct_3;
R #Struct_Len16.Struct_4;

ON #Struct_Len16.Struct_2;
O #Struct_Len16.Struct_16;
O #Struct_Len16.Struct_10;
JC M001;

R #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_4;

JU M002;

M001: NOP 0;
O #Struct_Len16.Struct_2;
O #Struct_Len16.Struct_15;
O #Struct_Len16.Struct_9;
JC M003;

S #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_16;
S #Struct_Len16.Struct_3;
JU M002;

M003: NOP 0;

AN #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_12;

ON #Struct_Len16.Struct_10;
O #Struct_Len16.Struct_16;
R #Struct_Len16.Struct_12;

A #Struct_Len16.Struct_10;
AN #Struct_Len16.Struct_16;
AN #Struct_Len16.Struct_12;
R #Struct_Len16.Struct_2;

A #Struct_Len16.Struct_12;
A #Struct_Len16.Struct_2;
= #Struct_Len16.Struct_14;

A #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_11;

ON #Struct_Len16.Struct_9;
O #Struct_Len16.Struct_15;
R #Struct_Len16.Struct_11;

A #Struct_Len16.Struct_11;
AN #Struct_Len16.Struct_2;
= #Struct_Len16.Struct_13;

A #IN0;
A #Struct_Len16.Struct_16;
AN #Struct_Len16.Struct_10;
R #Struct_Len16.Struct_2;

A #Struct_Len16.Struct_14;
S #Struct_Len16.Struct_16;

A #IN0;
AN #Struct_Len16.Struct_10;
O #Struct_Len16.Struct_13;
R #Struct_Len16.Struct_16;

M002: AN #Struct_Len16.Struct_16;
= #Struct_Len16.Struct_15;

A #Struct_Len16.Struct_16;
= #OUT_ST16;
END_FUNCTION



长征三号

  • 精华:0帖
  • 求助:1帖
  • 帖子:54帖 | 910回
  • 年度积分:0
  • 历史总积分:1121
  • 注册:2008年6月16日
发表于:2009-05-03 13:42:31
23楼
你把他转化成梯形图比较好看懂呀

小鱼儿???

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 29回
  • 年度积分:0
  • 历史总积分:82
  • 注册:2009年5月07日
发表于:2009-05-07 12:50:45
24楼

都是高手哦,都是高手哦

liuairen521

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:20
  • 注册:2008年9月27日
发表于:2009-12-22 10:26:10
25楼
能不能把你分析的结果告诉大家学习学习,

深水渔

  • 精华:0帖
  • 求助:1帖
  • 帖子:32帖 | 1660回
  • 年度积分:0
  • 历史总积分:1915
  • 注册:2007年12月17日
发表于:2009-12-25 08:37:50
26楼
引用三脚猫 的回复内容:根本不用加密
如果别人能看懂你的程序,说明他的水平就
能编出程序。
单位里的项目多,PLC程序我很少看,
回为很难看懂,别人也拷走过,可没
见谁能理解这些程序,
只要知道工艺原理,我就能编出程序




雨鸿

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:112
  • 注册:2008年1月11日
发表于:2010-01-14 21:11:28
27楼

我觉得,加密好点,,,

  理由,要达到同样的机器动作,但程序员不同,程序也有不同的,可能在一般的逻辑控制不是很明显,

连杰

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 244回
  • 年度积分:0
  • 历史总积分:406
  • 注册:2006年5月09日
发表于:2010-09-19 08:48:31
28楼

回复22楼

你那个程序是没有源文件了 你能看懂?  这都是直接调用地址的(属于汇编形式)要是能照到模块的地址 完全可以看懂 有什么复杂之处?

连杰

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 244回
  • 年度积分:0
  • 历史总积分:406
  • 注册:2006年5月09日
发表于:2010-09-19 09:03:09
29楼

补充一下~

加密是为了保护知识产权  同时也是为了利益  

加密有利有弊~

利在于保护自己的只是产权和经济利益

弊在于如果人家买去设备 一个小的地方需要修改都不行~

以下是个人看法~

大型的PLC加密可以分为部分加密  ,只把需要加密的地方那个去加密(工艺过程)外部的逻辑动作不建议加密,既然用到大型的PLC那设备可能不是简单的一个控制过程,谁也不敢保证任何的大型设备程序一点不改动(用个几年设备磨损了一些地方就需要修整了,当然是在电气能修整的前提下。)如果改动我们设备的制造厂家要去人吗?费用就大了吧

小的PLC建议加密   小型的PLC都是用在单一的设备上面(除非在非常的情况下需要该程序外一般不需要改程序 )单一的设备上面存在有工艺和过程(现在的中国人仿造技术太厉害了,不用解释!都能理解),被别人拿到就能做出设备来(最初写程序的人可能经历的几百台设备的试验个改造才能调整出来,人家心酸呢~)

 

zhengzheng

  • 精华:2帖
  • 求助:0帖
  • 帖子:50帖 | 2593回
  • 年度积分:0
  • 历史总积分:3015
  • 注册:2002年1月16日
发表于:2010-09-26 02:14:27
30楼
回复内容:
对:连杰 关于

回复22楼

你那个程序是没有源文件了 你能看懂?  这都是直接调用地址的(属于汇编形式)要是能照到模块的地址 完全可以看懂 有什么复杂之处?

 


不是这样的,FC169块是自己编的的变量声明没有任何地址.这个程序很简单全部是开关量,输入端口INO,输出ST16.能看懂说明西门子S7-300,400才入门.

 这才是西门子S7-300和400的入迷处.你自己的算法完全可以打成FC和FB块.转换成STL语言.能看懂的也不需要去解你的密,费事.看不懂的永远看不懂.西门子内部的SFC块是完全加密的永远没有人知道.你的工艺过程完全可以打成块.公共块是可以任意当作子程序调用的,你的变量声明只要不公布,别人看起来是费事.如以下.
             AN #Struct_Len16.Struct_16;
= #Struct_Len16.Struct_15;

SET ;
R #Struct_Len16.Struct_3;
R #Struct_Len16.Struct_4;

ON #Struct_Len16.Struct_2;
O #Struct_Len16.Struct_16;
O #Struct_Len16.Struct_10;
JC M001;

R #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_4;

JU M002;

M001: NOP 0;
O #Struct_Len16.Struct_2;
O #Struct_Len16.Struct_15;
O #Struct_Len16.Struct_9;
JC M003;

S #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_16;
S #Struct_Len16.Struct_3;
JU M002;

M003: NOP 0;

AN #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_12;

ON #Struct_Len16.Struct_10;
O #Struct_Len16.Struct_16;
R #Struct_Len16.Struct_12;

A #Struct_Len16.Struct_10;
AN #Struct_Len16.Struct_16;
AN #Struct_Len16.Struct_12;
R #Struct_Len16.Struct_2;

A #Struct_Len16.Struct_12;
A #Struct_Len16.Struct_2;
= #Struct_Len16.Struct_14;

A #Struct_Len16.Struct_2;
S #Struct_Len16.Struct_11;

ON #Struct_Len16.Struct_9;
O #Struct_Len16.Struct_15;
R #Struct_Len16.Struct_11;

A #Struct_Len16.Struct_11;
AN #Struct_Len16.Struct_2;
= #Struct_Len16.Struct_13;

A #IN0;
A #Struct_Len16.Struct_16;
AN #Struct_Len16.Struct_10;
R #Struct_Len16.Struct_2;

A #Struct_Len16.Struct_14;
S #Struct_Len16.Struct_16;

A #IN0;
AN #Struct_Len16.Struct_10;
O #Struct_Len16.Struct_13;
R #Struct_Len16.Struct_16;

M002: AN #Struct_Len16.Struct_16;
= #Struct_Len16.Struct_15;

A #Struct_Len16.Struct_16;
= #OUT_ST16;
END_FUNCTION

内容的回复:

zhengzheng

  • 精华:2帖
  • 求助:0帖
  • 帖子:50帖 | 2593回
  • 年度积分:0
  • 历史总积分:3015
  • 注册:2002年1月16日
发表于:2010-09-26 02:16:54
31楼

引用皓月 的回复内容:把相应的FC先生成一个SOURCE FILE,打开此FILE后,在VERSION下面加入KNOW_HOW_PROTEC,编译存盘,然后再删除此SOURCE FILE 即可

--------------------------------------------------------------------------------

正解
引用 | 回复
| 管理
| 设为最佳回复
| 2009-04-18 14:18:00 20楼 fangzhongyuan fangzhongyuan
积分:6103
帖子:33
注册:06-11-28 [个人博客] [个人播客]
[加为好友] [发送消息] 打开编写好的FB块或者FC块,选择菜单栏“选项”-“自定义”,在“自定义”对话框中保存块的下面将“自动生成源文件”选项打钩,然后单击“确定”。这时关掉程序编辑器,回到SIMATIC Manager 界面,选中左侧项目中的“源文件”,在右侧就会出现相应的源文件,扩展名为*.AWL。双击打开会看到这是个刚编完的程序,只不过是转化成了STL格式。在“VERSION”下面写入下面命令:know_how_protect编译通过就可以了。如果永远不想让别人了解你的程序,就将这个源程序删除就OK了!但自己要保留一份啊。估计西门子内部的功能块都是这么做的

----------------------------

  正解.

苗子

  • 精华:0帖
  • 求助:1帖
  • 帖子:363帖 | 2721回
  • 年度积分:0
  • 历史总积分:5525
  • 注册:2002年11月15日
发表于:2010-09-27 09:08:36
32楼

有病吧!

还要加密。。。。。。。。

邂逅天堂

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 82回
  • 年度积分:0
  • 历史总积分:539
  • 注册:2010年9月02日
发表于:2010-09-27 12:25:58
33楼
干吗要加密啊?????????

宇涵

  • 精华:0帖
  • 求助:2帖
  • 帖子:12帖 | 295回
  • 年度积分:0
  • 历史总积分:957
  • 注册:2008年2月18日
发表于:2010-09-27 12:31:47
34楼
加密有加密的好处的//////

工控小蚂蚁

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 318回
  • 年度积分:0
  • 历史总积分:873
  • 注册:2002年3月21日
发表于:2010-09-27 14:21:16
35楼

特同意26楼连杰的说法。

但本人基本上是只要是自己编的,全加密,为什么不加呢?想怎么加就怎么加,人家加密就“有病了”?在这行大家都是高智商的人,会有病吗?人家要加密肯定有人家的需要。本人从各地现场PLC上传过程序,有不设密码的有,但不多

都是真正需要了,没有source文件,FC FB加密照样可以破jie呀

 

 

如下原版从某某抄摘至此:

100:我如何做到对自己的程序块进行加密保护?
您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1. 打开程序编辑窗口LAD/FBD/STL;
2. 将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File— ;Generate source 生成);

3. 在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;

4. 在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
5. 存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
6. 现在就完成了您程序块的加密保护;

101:我如何做到对自己的程序块进行jie密?
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
现在程序块的加密保护已经取消。
注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的.

XX2885CC

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2008年3月22日
发表于:2011-08-17 13:49:33
36楼

就中国人喜欢加密!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

zougangqiao888

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2010年12月04日
发表于:2011-08-28 23:54:52
37楼
德国人的设备也很喜欢加密啊

dqhh

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:21
  • 注册:2003年1月27日
发表于:2011-11-05 15:22:56
38楼
有哪位教个解锁的方法

sanmu460

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2005年8月18日
发表于:2011-11-07 08:21:12
39楼

wenbaolv

  • 精华:0帖
  • 求助:19帖
  • 帖子:88帖 | 1461回
  • 年度积分:91
  • 历史总积分:4554
  • 注册:2011年7月10日
发表于:2011-11-07 09:02:36
40楼
加密了人家想改动一下怎么办/

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页