签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
20220801更新:
肯定有人遇到下面一些情况:
1、多台设备几乎在同一时间进行请求启动,但同一时刻仅允许同一台设备启动,这将面临第一个难题:谁启动?
2、我们可以按照同一时间内谁先请求,谁启动的原则,该设备启动后,与禁止其他设备运行,但是,我这里仍然要说“但是”,如果所有设备真的同时申请启动,而且每一次申请都是同时,那么肯定总会是程序写在前面的设备运行,设备对应的程序靠后的,将永远被前面的设备禁止,导致无法启动,那么我们面临第二个问题:需要加入优先级的概念,未启动过的设备优先级提高,启动过的设备优先级降低。
3、当我们使用一个程序块解决了第二个难题后,我们可能遇到第三种情况,每一个项目的设备数量是不一定的,如果功能块只针对解决三个设备的难题,那么遇到四个设备的项目时,将需要重新做功能块,为此,我们遇到第三个难题:扩展性,我们该如果在不重新编写功能块的情况下,让解决第二个难题的功能块具备扩展性,能够适应不同设备数量的项目?
为此,我做了下面这个功能块:
轮换分站块:
INPUT:
允许自动 BOOL
切换时长 TIME_OF_DAY
切换日 UINT
复位 BOOL
模块排序 BYTE
启动数量 BYTE
INOUT
总线 ARRAY[0-3] OF BYTE
OUTPUT
输出 BOOL
【术语】
超级FB
下面涉及到一个名词【超级FB】,【超级FB】是通过总线数据区,将多个独立的FB链接,所有被链接的FB组成一个整体,称为【超级FB】,注意,【超级FB】内,必须有一个FB的模块排序为2。
【描述】
该FB可以通过【总线】数据区,将多个连接,从而组合成为一个【超级FB】,一个设备对应一个FB,N个设备使用N个FB,从而实现扩展性。
【超级FB】通过允许自动IN 感知到外部请求启动的设备,然后根据策略,自动根据优先级分配启动信号,再从输出OUT,给予对应的设备启动信号。
分配策略如下:
1、先启动,先停止(可以设置为先启动,后停止)
2、最后停止的设备,最后启动。
时间锁:
这玩意其实我几乎不用到,毕竟作为设备采购方,都是被别人使用在自己身上,所以也算研究过。
用途:设备供应商为了有向甲方要工程款的底气,都会在自己供应的设备商添加时间锁。
制作原因:与一些关系好的同行交流过时间锁之类的程序,总感觉他们的想法不够完美,所以自己研究了一下。
程序块:
输入引脚:
1、请求解锁 bool
2、获取请求码 bool
3、公钥 string
4、私钥 string
输出引脚:
1、允许 bool
2、到期年 int
3、到期月 int
4、到期日 int
5、请求码 string
利用此功能块,将【获取请求码】置一,将从【请求码】输出一串32个字符的字符串,称为请求码。
通过请求码,利用一个Excel文件,结合设定的【到期时间】以及【私钥】,便可以计算出来一个合适的【公钥】,此【公钥】仅在设定的【到期时间】之前有效。
在有效期内,将公钥从【公钥】输入引脚输入,再将【请求解锁】置一,此时,【允许】也会置一。
在有效期之后,【允许】会被一直置零。
Excel文件:
Excel文件有四项空格:
1、请求码
2、私钥
3、有效时间
4、公钥
前面三相需要填写。
私钥:需要由工程师指定一个常量,为字符串型,仅限英文与数字。
请求码:通过前面提到的方法,从程序块中获得请求码,填入Excel文件内。
有效时间:工程师指定的到期时间,格式为8位数字,前四位为年份,五六位为月份,最后两位为日期。
公钥:点击【获取密码】按钮,即可获得公钥,将该公钥填入程序块的【公钥输入点】内,在利用前面提到方法,激活【允许】输出。
20220519更新
【哈希算法】
众所周知,哈希算能够将输入的不限长度、不限类型的字符串转化为哈希码,哈希码是一串32位字符串,由数字与英文组成,算法具备良好的雪崩效应、防碰撞性以及单向性。
说人话就是,算法能够将任何从输入端的文字转化为32位的字符串,被称为哈希码,即使随便改变文章中其中一个字符串,也会导致哈希码产生颠覆性的变化,此为雪崩效应;
只要两段文字有一丝丝的不一样,或者有非常颠覆性的不一样,它们两者转化过来的哈希码都会有颠覆性的差别,此为防碰撞性;
而单向性,顾名思义则是有人试图想要从哈希码推断出来转化为此哈希码的原文,那将是痴心妄想,或者足够的时间可以,但那个时候,可能已经世界末日了。
MD5算法:
MD5算法是哈希算法的一种,引脚如下:
input
sMessage string
stype int
inout
可变数组 Array[*] of DWord
output
ret_val string
原文可以从sMessage中输入,并将stype设置为32,可变数组需要在DB块中声明,可以声明为ARRAY[0...70] fo dword ,然后通过ret_val 输出32个字符的哈希码。。
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1762481&b_id=66&s_id=0&num=25
你的excel要和你的程序块配合才行,你的两个关键部分都没有说清楚,一程序块编程思路,二excel的处理过程。
Plc里做这种的 一概藐视!
商务的问题,硬要技术解决。
他们的想法不够完美,对比一下不同的地方,会更好
是通过表格来计算公钥匙? 不是直接 PLC 内部计算出公钥匙的吗?
说了个皮毛,等于没说。
乘兴而来,败兴而归!!
高人啊,就是我这水平的,看不明白。
喜欢学习交流、研究
只有想不到,没有做不到。
感谢楼主分享,
学习了,感谢分享,多掌握一种方式还是有必要的
很先进吗?大家来说说
感谢分享。虽然看不懂。
楼主杠杠的。
有点懵,不清不楚!
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录