[西门子] SCL编程实例100例-008-数字加密

[复制链接]
查看203 | 回复0 | 2024-4-24 20:47:41 | 显示全部楼层 |阅读模式
1 | 题目


对有4位数字的整数进行加密,加密方法如下:
每位数字都加上5的和除以10的余数代替该数字,再将第1位和第4位交换,第2位和第3位交换。



2 | 设计分析


首先将给定的4位数按位进行拆解,将拆解后的每位数字按题目的要求进行求解计算,然后将最终结果组合(加密数)输出。



3 | 创建功能或功能块


添加功能块FB,命名为:“4DigitsNumEncryption”。




4 | 定义接口变量


具体接口变量定义见下图:
注意存储数字拆解结果的数组只定义了4个元素,即只支持4位数加密。



5 | 程序代码


编写程序代码。如下图:


数字拆解后再组合输出时会用到幂运算,可以调用前面学习中自己设计的幂函数,也可以直接使用SCL中的“**”运算符,参见注释掉的代码。特别要注意数据类型的强制转换和隐式转换。



6 | 代码测试


在循环OB中调用FB- “4DigitsNumEncryption”,调用时会自动创建背景数据块,命名为“Inst4DigitsNumEncryption”,该背景数据块可以用来监视和修改数据。
转至在线并监控程序。如下图:
待加密数5678,加密后数为3210。



7 | 总结


学习使用FOR循环语句;
学习子程序的调用和实参的传递;
学习使用一维数组;
学习数据类型的强制转换和隐式转换。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则