柳暗花明又一村
# 任务
前几天,领导给了个活,写一个PLC的驱动,型号为台达AS218TX。
# 绝望
网上去搜相关资料
- github搜相关库,无果
- 去官网下载资料,结果没找到PLC相关的任何资料(天真地认为网站不好,没有资料)
- CSDN搜相关开发教程或资料,无果
- 网上下了一个台达的编程软件WPLSoft 2.34,没能连上PLC
- 淘宝搜索此商品,看有无资料介绍,没有
# 希望
找不到资料也不能不做吧,之前听领导和客户说过台达的这款PLC支持Modbus,那就试一下:
- PLC接入局域网,由于没有路由器访问权限,不能通过路由器获得PLC的IP地址,就用IP扫描工具扫描局域网,匹配MAC地址(PLC标签上有标注)即可得到PLC的IP地址
- 用Modbus Poll这款软件使用ModbusTCP协议去连接PLC,竟然连上了,原来这款PLC天生支持ModbusTCP
- 对寄存器进行读写操作发现也是可以正常读写的;又从网上找到了一个台达的Modbus寄存器地址和PLC寄存器地址的映射表格(任务并不是通过Modbus的寄存器地址读写数据,而是通过PLC的寄存器地址读写数据);感觉算是可以慢慢开发了
# 重生
我调试通过ModbusTCP读写PLC的代码时,同事看到了,『搞起来了,可以了吗?』,『我直接用的Modbus,网上找了个地址对照表』,我把对照表展示给他看。『最好能从官网上找到对照表』。我再次打开了官网,之前怎么也没找到相关资料,『选一下工业自动化呢』,我照着做了,突然发现下面的选项中出现了PLC选项!原来藏在这里!好吧,之前怎么没想着这些选项都试试呢,唉,以后还是不能老说这没有那没有,要善于去发现。就这样我找到了相应的PLC资料,安装了官方的PLC编程软件ISPSoft 3.10,和其搭配软件(COMMGR V1.11),成功地连上了PLC。
# 进阶
成功连上PLC后,发现根据网上搜到的对照表,通过Modbus读取相应寄存器的值,对应不上。虽然很纳闷,但也无助。这是同事又提供了帮助,说我搜到的对照表可能是错的,不是这款型号的。结果证实我同事是对的。并且他还成功搜到了正确的(必应搜索)。
# 总结
- 要善于去发现,脑子稍微灵活一点,就可能会别有一番天地。
- 我有个毛病,做事情过于悲观和沉不下心来。一、如果不在我同事的帮助下,就算我自己搜到了这款软件,我可能也不愿意去安装,因为我骨子里恐惧,觉得装了也没用,因为我之前搜了很多这款PLC的资料,教程资源很少,而且也没人提到过这款软件,所以我就天然的认为:冷门,不好搞。二、就算我安装了这款软件,可能也用不了,因为它还需要配套软件COMMGR,这个我可能又不会装,一是我会选择性忽略掉一些详细信息(不愿动脑子),二是我看到COM这样的名字,我天真的以为这是串口的,而不是网口的,装了也没用。
- 不要认为自己搜到了就是正确的,这种坚信不疑往往害了自己。
- 善用搜索工具,这段时间深刻感受到了百度的搜索确实很垃圾,浪费时间又搜不到有用的东西。还是多用gogle和必应。
- 不知道怎么解决时可以打官方客服电话。