以人类可读的格式打印rpg文件的内容

时间:2015-05-21 08:02:12

标签: rpg

上下文

我的一位朋友在将源代码打印成人类可读格式时遇到问题。

他们的焊接机器人的编译(我假设)程序具有.rpg扩展名。他们希望以人类可读的格式收集打印件,可能用于备份或将来参考。

他们的供应商可以提供完成此任务的软件,无论是相当大的成本(并且可能是:年度许可证)。因此,我的朋友决定问我是否存在更简单/更便宜的解决方案。

示例&图片

可以在机器人的控制台上读取文件,例如:

Picture of robot console.

我做了一些小的研究,我很确定这是IBM开发的Report Program Generator (RPG)语言。类似于程序集的语法似乎匹配;它可能是该语言的后续版本之一。

我的朋友给我发了一个示例.rpg文件,内容看起来是二进制文件,其中包含一些字符串文字。十六进制示例文件内容的屏幕截图:

Screenshot of <code>.rpg</code> file contents.

问题

在网上找不到太多明确的信息,所以我想我有多个问题(对于可能对此有更多了解的人):

  1. 这是(第一张图片)报告程序生成器(RPG)代码吗?
  2. .rpg文件是否包含已编译或已处理的代码?也许是一种中间格式?
  3. 是否可以将示例中显示的文件转换回源代码或人类可读的格式,“反汇编”的类型呢?
  4. 如果有人了解更多信息,请随时向我提供任何信息或询问更多详细信息。提前致谢!

    也许不是一个重要的问题,但仍然会让我感到困扰(可能表明我走错了路):

    如果这确实是一个RPG程序,为什么编译/处理的二进制文件具有.rpg扩展名,源文件不应该具有该扩展名。这让我相信我要么(a)假设错误的东西(语言等......)或者(b)这是一种中间格式,机器更容易阅读,必须通过某种方式解释运行时系统。

3 个答案:

答案 0 :(得分:1)

我认为这不是IBM RPG语言的任何版本。 RPG确实有一个MOVEL操作码,但它没有任何其他操作码。

此外,IBM语言的所有版本都用于业务编程。我怀疑它会被用于机器人技术。

我的猜测是,这是制造机器人的公司的专有语言。

答案 1 :(得分:1)

  1. 有一些相似之处,但它看起来不像IBM RPG语言。
  2. RPG源实际上是源物理文件成员。它们不存储在“传统”文件系统中,而是存储在OS / 400库中。因此RPG源没有扩展名。它们可以转换为集成文件系统流文件。
  3. 我无法回答这个问题,因为这是我未知的语言。

答案 2 :(得分:1)

我希望OP错误识别文件类型/扩展名;扩展名实际为.prg,文件作为Panasonic工业焊接机器人的说明。下面的论坛[深入到松下机器人]自称为the biggest Industrial Robots Supportforum worldwide!;也许是一个讨论OP中提供的图像的好地方,以及从似乎是二进制指令流获取 source 的查询。

FWiW,第一张图片似乎显示Ezed实用程序[在控制台上]提供人类可读的格式,因此问题可能是如何保存然后如何转移其他地方;例如什么类型的通信端口和文件传输实用程序可从任何平台/操作系统获得。