【问题标题】:Send signal via RJ12 in DelphiDelphi中通过RJ12发送信号
【发布时间】:2011-11-17 18:48:44
【问题描述】:

我有一个中国制造商的收银机,我想用 Delphi 代码打开它的收银机。

收银机和抽屉通过 RJ12(6 针)电缆连接。

我在其他地方看到过提到“收银机和 POS 系统向收银机发送 12V 或 24V 信号以激活电磁阀以打开收银机。” 抱歉,制造商的网址是here

如何在 Delphi 中做到这一点?

【问题讨论】:

  • 请指定收银机的型号。 POS 是一种标准,每个制造商还提供一些与他们的产品一起使用的软件。他们通常有一个 SDK 可以使用。
  • 您需要向驱动程序发送一个命令,该命令通常由 DeviceIoControl 完成。如果您有一个用另一种语言编写的应用程序,请使用 api 监视器实用程序查看它调用的 api。跨度>
  • RJ12 只是机械连接器。您链接的网站只说它有一个串行端口。因此,现在您至少需要确定 RX(接收)、TX(发送)和接地引脚的位置,可能还有 RTS/CTS(流控制)引脚的位置。除非您知道引脚分配或有工作的 RJ12 到 DB9 串行电缆,以及制造商提供给您的有关串行协议的一些信息,否则您将无法编写任何代码。我知道欧姆龙收银机的工作原理,而且我知道大多数制造商都有编程手册。你需要先得到它。
  • 您可以在这里订购零件,然后您只需要手册来确定将什么电线插入哪个孔:canada.newark.com/newport-electronics/db9-rj12/… -- 大约有 84 种可能的接线方式,所以请联系制造商获取引脚分配。

标签: delphi point-of-sale opos


【解决方案1】:

如果您只需要低电流的 12V 信号,您可以使用V24 RS232 classical serial line。公共电压为+12V (ON),您可以使用DTR之类的控制信号。

德尔福有很多serial port libraries

【讨论】:

  • 在他知道协议之前,他不能编写任何软件,并且他有一根可以工作的串行电缆。他一个都没有。
  • @WarrenP 这个问题不清楚,我们可以理解为“我需要直接用RJ12线放+12V信号才能打开钱箱”。
  • 哦。因此,您假设您只需要在 +12V 下进行 DTR 输出,即可触发现金抽屉。是的,其中一些确实是这样工作的。但是他不知道哪个引脚是 DTR 引脚。我猜他找到 DTR 和接地引脚并通过随机尝试正确接线的机会大约是 1:84,而不是 1:84。将螺线管直接连接到串口会导致串口烧坏,甚至可能烧毁整个计算机。此人需要更多地了解电子产品,然后才能取得好成绩。
猜你喜欢
  • 1970-01-01
  • 2011-05-18
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多