回复:【实用FC系列】之一,数字转换为字符串

yang9188

西门子1847工业学习平台

  • 帖子

    42
  • 精华

    2
  • 被关注

    19

论坛等级:游侠

注册时间:2020-08-31

钻石 钻石 如何晋级?

发布于 2025-09-30 09:32:09

7楼

展开查看
以下是引用'Razor在2025-09-28 23:00:29的发言 >4楼

坦率地讲,楼主的这个FC写得还有改善空间。

首先可以自行了解一下什么是子程序/函数的“逻辑内聚性”,官方的VAL_STRG指令就挺好用的。

其次,保留原代码风格的话,也是可以改进一下以下代码切片:

//下方指令的IN完全可以使用公共tempIN代替,包括此整条指令都可以公用化

VAL_STRG(IN := #Value_UInt,

                     SIZE := #Size,

                     PREC := 0,

                     FORMAT := W#16#0000,

                     P := 1,

                     OUT => #tempStr);

再次,使用CASE,难免会有部分代码是不会执行的“死代码”,在效率上有影响,另外variant的使用有副作用的。

胡言乱语,仅供参考。


你的建议我看过了。谢谢在此讨论问题,下文也仅仅做为技术讨论。

1,Value_XXX是无法用tempIN替代的。你可以试一下,是不行的。

2,使用CASE的确有些代码是不执行的。

3,Variant的副作用的问题,我也觉得Variant有些问题。不过,只要熟悉了,摸好Variant的脾气,副作用都可以消除。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

谈天说地

共有13241条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。