0

因此,在阅读了这里和这里的这些问题之后,在不解释我的情况的情况下,我对如何提出这个问题并没有任何其他想法。

注意: 总的来说,我对专有平台非常陌生,来自自由/开放软件的背景。

本质上,我有一个用于我们内部专有运动控制平台的程序,它使用带有宏的脚本在 UI 端的程序和运动控制器端的固件之间进行通信。所有涉及软件的文档和开发都由姊妹公司处理,文档缺乏/不完整,我们有他们的支持,但他们很瘦,有自己的产品,距离 2,700 英里,不能在内部随叫随到,我没有来源/我不允许有任何来源的来源主应用程序,也不是固件,真正杀死它,我们最后一个,唯一的真正程序员。我们独自拥有这个脚本和一些新产品,这些新产品都依赖于这个脚本在软件中的良好配合。该脚本需要一个严肃的、定期的错误检查解决方案;对于我们使用此运动控制器系统的每台已配置机器。

所以我要开始调试这个脚本。这就是这里发生的事情。

我试图编写一个模拟 bash 实现,但递归程度、从 .ini 文件中提取的数组、系统定义的命令集以及固件中的脚本解析;使这个 bash 调试实现变得困难,我不确定我能否在不破坏重要内容的情况下完全完成它。

我查看了其他选项,例如 ANTLR,这也有点超出我的想象,但可能会起作用。

现在,控制器通过某种静态 IPv4 交叉以太网设置(Telnet?)进行通信,但具有 RS-232 串行,将输出从“sout”命令解析的格式化字符串。我的意图是修改脚本以尽可能多地输出带有预定义系统命令和变量的格式化字符串,但我担心它不会给我提供全局。

脚本本身定义了全局、系统和局部变量和函数(因为它位于运动控制器端,有硬件限制),可以嵌套 25 个子程序深度。真正的陷阱似乎是脚本的递归端进入和退出这些函数的地方,因为它们是从 UI 和其他函数调用的。什么都没有跳出来,但是没有深入的文档,我只能看到这么多,而且几乎只是和另一位向姊妹公司提问的工程师一起学习了所有这些。

谁能给我一些关于我应该如何继续努力的建议?我知道这可能有很多问题,但我有点墨守成规,需要比我的技能更多的认知资源,而咖啡允许。

感谢您的时间。

4

0 回答 0