# 任务

前几天,领导给了个活,写一个PLC的驱动,型号为台达AS218TX。

# 绝望

网上去搜相关资料

  • github搜相关库,无果
  • 去官网下载资料,结果没找到PLC相关的任何资料(天真地认为网站不好,没有资料)
  • CSDN搜相关开发教程或资料,无果
  • 网上下了一个台达的编程软件WPLSoft 2.34,没能连上PLC
  • 淘宝搜索此商品,看有无资料介绍,没有

# 希望

找不到资料也不能不做吧,之前听领导和客户说过台达的这款PLC支持Modbus,那就试一下:

  1. PLC接入局域网,由于没有路由器访问权限,不能通过路由器获得PLC的IP地址,就用IP扫描工具扫描局域网,匹配MAC地址(PLC标签上有标注)即可得到PLC的IP地址
  2. 用Modbus Poll这款软件使用ModbusTCP协议去连接PLC,竟然连上了,原来这款PLC天生支持ModbusTCP
  3. 对寄存器进行读写操作发现也是可以正常读写的;又从网上找到了一个台达的Modbus寄存器地址和PLC寄存器地址的映射表格(任务并不是通过Modbus的寄存器地址读写数据,而是通过PLC的寄存器地址读写数据);感觉算是可以慢慢开发了

# 重生

我调试通过ModbusTCP读写PLC的代码时,同事看到了,『搞起来了,可以了吗?』,『我直接用的Modbus,网上找了个地址对照表』,我把对照表展示给他看。『最好能从官网上找到对照表』。我再次打开了官网,之前怎么也没找到相关资料,『选一下工业自动化呢』,我照着做了,突然发现下面的选项中出现了PLC选项!原来藏在这里!好吧,之前怎么没想着这些选项都试试呢,唉,以后还是不能老说这没有那没有,要善于去发现。就这样我找到了相应的PLC资料,安装了官方的PLC编程软件ISPSoft 3.10,和其搭配软件(COMMGR V1.11),成功地连上了PLC。

# 进阶

成功连上PLC后,发现根据网上搜到的对照表,通过Modbus读取相应寄存器的值,对应不上。虽然很纳闷,但也无助。这是同事又提供了帮助,说我搜到的对照表可能是错的,不是这款型号的。结果证实我同事是对的。并且他还成功搜到了正确的(必应搜索)。

# 总结

  1. 要善于去发现,脑子稍微灵活一点,就可能会别有一番天地。
  2. 我有个毛病,做事情过于悲观和沉不下心来。一、如果不在我同事的帮助下,就算我自己搜到了这款软件,我可能也不愿意去安装,因为我骨子里恐惧,觉得装了也没用,因为我之前搜了很多这款PLC的资料,教程资源很少,而且也没人提到过这款软件,所以我就天然的认为:冷门,不好搞。二、就算我安装了这款软件,可能也用不了,因为它还需要配套软件COMMGR,这个我可能又不会装,一是我会选择性忽略掉一些详细信息(不愿动脑子),二是我看到COM这样的名字,我天真的以为这是串口的,而不是网口的,装了也没用。
  3. 不要认为自己搜到了就是正确的,这种坚信不疑往往害了自己。
  4. 善用搜索工具,这段时间深刻感受到了百度的搜索确实很垃圾,浪费时间又搜不到有用的东西。还是多用gogle和必应。
  5. 不知道怎么解决时可以打官方客服电话。