技术论坛

SMART PLC程序块加密会影响程序执行结果

作者 主题
侠圣

经验值: 4092
发帖数: 565
精华帖: 4
主题:SMART PLC程序块加密会影响程序执行结果
推荐帖


只看楼主 楼主 2018-12-10 21:31:05

         最近的一个项目用到字符串比较指令,调试时总是出问题,折腾了两天,才算摸索出问题所在。字符串相等指令我以前是经常使用的,还没有出现什么难点这次奇了怪了,就是不能按照预想执行,想着可能是该指令长时间没用过给忘了,好吧那就单独试这个指令,结果还是老样子(在加密的程序块试的),没辙就瞎捣鼓,偶然发现该指令可以用了,这就好办了,那好就慢慢找原因吧,找来找去问题是在程序块加密上。

      字符串指令是不常用的指令   这里先说一点Smart 的字符串的基本知识:STRING 数据类型的第一个字节定义字符串的长度,即字符字节数,接下来的字节依次存放单个字符,即一个字节存放一个字符。

   字符串比较指令:可以在两个变量或一个常数和一个变量之间进行比较。 如果比较中使用了常数,则它必须为顶部参数(LAD 触点/ FBD 功能框)或第一参数 (STL)


         我的程序的问题是在一个字符串常数和一个字符变量比较时出现的。字符串变量与字符串变量比较没问题。参照上面的指令帮助,下面是程序块(Main)没有加密的运行结果:

M0.0    为  1          M0.1   为  1  




      程序逻辑部分没有改变,仅将主程序块进行加密后的结果:

M0.0    为  1          M0.1   为  1 


测试结果:程序块加密会影响字符串比较指令,第一个数常数时结果会出错。


测试用的软件 :

测试用的硬件:





 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1527485&b_id=64&s_id=0&num=17

侠圣

经验值: 4521
发帖数: 554
精华帖: 4
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 1楼 2018-12-11 06:47:00

2.3版本不知道是不是有问题,以前遇到过2.3版本与PLC通讯无法连接,换成2.2就正常。楼主可以用2.2再试一次


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 2楼 2018-12-11 09:06:48

这个问题有点严重。看看有plc的都试一下。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4092
发帖数: 565
精华帖: 4
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 楼主 3楼 2018-12-11 09:17:26

有硬件的做下测试,看是个例还是普遍的问题,不知道是否对其他指令也会有影响。这可不是个小问题,也是编程人员容易忽略的地方。我用的两个PLC都试过,现象相同。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 4楼 2018-12-11 09:53:47

清空plc,三项要同时清空。

编写程序一条:比较触点,输出Q。

编写数据块:一个字符串。

加密程序块。

下载。

检查结果。

如果确实出错了。直接发邮件到西门子,直接提请官方介入了解。

这是 为民 办的一件事实好事啊。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4092
发帖数: 565
精华帖: 4
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 楼主 5楼 2019-09-30 19:04:44

字符串比较指令可以用于软件与硬件的绑定。做一些逻辑处理让程序只在指定的PLC上运行正常,防止拷贝有效的保护自己开发的程序。设备供应商一般应该将源程序提给客户,随着MES系统推广与慢慢普及,不提供源程序几乎是不可能的,这时就涉及的公司开发的核心代码被复制传播的风险,必须采取一些有效的措施。这时软件硬件绑定是个不错的选择,源程序涉密部分加密客户还是能理解,能接受的。

   核心代码并不是使用什么高级语言,特别算法,应该是设备运行跟踪总结出来的一些逻辑,或最优参数等。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17188
发帖数: 2946
精华帖: 6
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 6楼 2019-09-30 21:53:14

 确实如楼主所说的一样。

我试验使用的是V2.2, ST30.   不设置保护,字符串比较指令执行正常。  设置保护,字符串比较指令不执行了。 

                        


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17188
发帖数: 2946
精华帖: 6
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 7楼 2019-09-30 22:19:33

 由于国庆节放假,家里只有V2.2软件, ST30(固件V2.4),反复试验多次,就是这样。 等假期结束,使用V2.4软件试试看。 我们这里没有安装V2.3。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8095
发帖数: 1308
精华帖: 6
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 8楼 2019-10-01 07:26:27

你这个发现 亮了!!!!!


养活一团春意思,撑起两根穷骨头
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 9楼 2019-10-04 09:05:25

奇了个怪了。

真是这样。

我在后面加了两条带常数的比较,都也一样比较不通过。

好像加密了就对带常数的比较就有影响。


 
以下网友喜欢您的帖子:

  
新手

经验值:
发帖数:
精华帖: 3
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 10楼 2019-10-04 23:12:59

软件2.3,固件2.3阵亡了。SR30

软件2.3,固件2.4阵亡了。ST60


 
以下网友喜欢您的帖子:

  
新手

经验值:
发帖数:
精华帖: 3
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 11楼 2019-10-04 23:16:09

这是18年12月的事情???不知道2.4解决没。我也没用2.4软件。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17188
发帖数: 2946
精华帖: 6
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 12楼 2019-10-05 08:37:21

 软件v2.2  固件v2.4,程序保护仅影响字符串比较指令,其它比较指令不受影响。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 13楼 2019-10-05 12:00:31

大家说这是plc方面问题还是编程软件方面问题?应该不会是用户程序问题吧?

怎样才能令官方出来说两句?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 17408
发帖数: 6225
精华帖: 18
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 14楼 2019-10-07 15:25:46
以下是引用芳季在2019-10-05 12:00:31的发言 >13楼

大家说这是plc方面问题还是编程软件方面问题?应该不会是用户程序问题吧?

怎样才能令官方出来说两句?

估计官方正在升级软件。

楼主能发现这个BUG,也确实厉害!!


 
以下网友喜欢您的帖子:

  
至圣

经验值: 37446
发帖数: 5133
精华帖: 47
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 15楼 2019-10-07 15:35:07

其他指令有没有这样的问题呢?


工业起重机防摇摆 QQ:404136820 AntiSwayControl
以下网友喜欢您的帖子:

  
侠士

经验值: 1326
发帖数: 105
精华帖: 2
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 16楼 2019-10-09 09:24:06

我用最新V2.4版本软件和固件测试了下,主程序加密或者子程序加密后仍会出现楼主测试的BUG,看来问题很严重,这么久了官方还不修复这个问题,希望官方人员看到此帖给个解释。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 67542
发帖数: 14782
精华帖: 100
回复:SMART PLC程序块加密会影响程序执行结果


只看楼主 17楼 2019-10-09 13:42:59

加密谁就谁出问题。


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
SMART PLC程序块加密会影响程序执行结果
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。