因为项目需要入手了块TK6070iH,但是并不是配合PLC使用,而是显示PC采集到的数据波形,现在卡在与PC的数据通信上。PC上使用Labview编程接受数据采集卡采集的位移信号,同时使用Labview自带的MODBUS库将数据传给HMI,但是总连接不上。
后来做了一个简单的实验,将触摸屏设为主站,PLC类型选择MODBUS RTU,然后放置了四个数值显示原件,地址从5X100~104,使用RS232连接PC后,触摸屏总是显示PLC no response。使用串口调试助手发现没有给串口发送任何命令,不知如何解决?
另外还有一个问题:传输的数据如何通过波形显示,MODBUS传递的都是字符串的ASC码,怎么显示成波形呢?
希望大家能给点思路,如果解答不方便也可以直接邮箱winkaka_1213@163.com,谢谢了
连接方式RS232,接线你是怎么接的?
通讯参数希望你能一起贴出来。
我用的是母对母的串口交叉线 9口的
通讯参数为PLC类型:MODBUS RTU,接口类型:RS232,COM:COM1(9600,E,8,1),PLC预设站号:1
触摸屏上添加了4个数值显示原件,地址为MODBUS RTU 5X100~103。
测试时向串口发送01 03 08 00 01 00 02 00 03 00 04 0D 14,无反应,串口接收区也没有任何信息,是不是用的线不对?
还有关于想通过MODBUS传输浮点数然后显示为波形曲线应该怎么做呢? 再次表示感谢
内容的回复:
连接方式RS232,接线你是怎么接的?
通讯参数希望你能一起贴出来。
内容的回复:你的通讯设置有点问题。
1:labview的modbus库函数是按ASCII协议格式发送指令的,所以触摸屏中应该添加的plc类型应该是MODBUS ASCII。
2.:如果触摸屏要做主站,是不被动接收命令的,触摸屏需要数据的时候会发送相应的功能码到从站。然后再从返回的命令中获取数据。
3:要是想让pc给触摸屏发送数据,plc类型应该选择MODBUS ASCII Server,此时触摸屏的角色是从站。
4:我对labview编程不熟悉。如果是在触摸屏中做波形曲线,就要使用趋势图元件,先做数据取样。然后以此数据为依据生成趋势图。
建议的方案是触摸屏做从站,地址就用LW0——LW3,对应到modbus的地址就是4x001——4x004,labview端将数据定时传输到4x001——4x004.然后触摸屏端建立资料取样,定时采样LW0——LW3,然后再添加趋势图元件,自动以采样数据生成趋势图。
你的通讯设置有点问题。
1:labview的modbus库函数是按ASCII协议格式发送指令的,所以触摸屏中应该添加的plc类型应该是MODBUS ASCII。
2.:如果触摸屏要做主站,是不被动接收命令的,触摸屏需要数据的时候会发送相应的功能码到从站。然后再从返回的命令中获取数据。
3:要是想让pc给触摸屏发送数据,plc类型应该选择MODBUS ASCII Server,此时触摸屏的角色是从站。
4:我对labview编程不熟悉。如果是在触摸屏中做波形曲线,就要使用趋势图元件,先做数据取样。然后以此数据为依据生成趋势图。
建议的方案是触摸屏做从站,地址就用LW0——LW3,对应到modbus的地址就是4x001——4x004,labview端将数据定时传输到4x001——4x004.然后触摸屏端建立资料取样,定时采样LW0——LW3,然后再添加趋势图元件,自动以采样数据生成趋势图。
内容的回复:
谢谢金牌人机,经过测试,通信问题基本解决了,是连线的问题,市面上卖的9口串口交叉线都没用,按照手册要求自己做了一根。
但是现在传输浮点数做趋势图还是不行,做资料取样的时候每条曲线显示的是某一个LW的值,但是一个浮点数要用两个字才能表示吧,而且触摸屏本身的元件不支持浮点数,可以用宏指令来实现吗,可以的话具体要用到什么命令呢?