恭喜,你发布的帖子
发布于 2020-04-17 14:07:57
57楼
?4.11号看到了帖子,目前为止终于测试成功,感谢楼主分享,也和同我一样的零基础小白分享下过程:
1 从github下载了文件,发现是V15.1的,先去下载了博图软件,
2 看说明文件,需要用数据库软件,又去下载了MYSQL,结果下载了几十MB的小文件,不能用,最终找到https://dev.mysql.com/downloads/windows/installer/8.0.html,下载那个398MB的文件,才能用。
3 mysql安装软件过程,根据网上的安装教程安装完毕,创建了数据库密码,端口号默认3306。
4 根据PDF教程,创建了用户plc,密码root,并勾选了权限。
5 在PLC侧,设置remoteIP地址为电脑地址,端口号默认3306,。
6 网上查询了如何用Navicat,创建了数据库book
7?数据库连接connect指令管管脚替换为账户‘plc',密码'root',数据库‘book’
8 测试连接情况,是能连接指令,无法连同,通过上网查询,将MYSQL重装,重装过程中,密码校验界面选择第二个选项,native password。
9 网上查询mysql通讯协议,了解了要三次握手建立TCP/IP,4次挥手断开连接,逐句逐句的看楼主的SCL程序。
10 根据测试程序块中的 wstring内容,并查看了数据库指令,了解了“INSERT INTO ...”是数据库写入指令,根据写入指令的结构,在数据库侧建立表plcdata,在表plcdata下,建立T1~T5(bouble 类型,长度4,小数3)T6~T8(INT 类型),T9 T10(bit 类型)几个列。
11 激活写入指令,发现报错,根据报错代码查到是找不到数据库,怀疑发送的指令是不是有问题,于是查到可以用抓包工具wireshark可以抓包看TCP通讯过程,于是下了软件找了使用教程,开始抓包,发现通讯协议没问题。
12另从网上百度找问题,其中有解释说需要连接下数据库,于是使用MYSQL-use指令,再次连接了book数据库,然后再激活发送数据指令,报错换成了 T1数据长度错误,于是把数据库book下plcdata的列T-~T5长度改为10,再次发送指令,查了下如何用Navicat查看数据内容,然后确认确实写进来了数据。
以上是一个通讯小白的过程,对楼主的程序佩服的五体投地,为我打开了一扇新的大门,通讯没有以前那么神秘了,非常感谢楼主的分享,楼主的一些编程技巧对我很受启发。
请填写推广理由:
分享
只看
楼主