小弟第一次做从站,上回用狗做主站成了,这回难住了。
用ASCII960081无校验用的是fb7FB8做的,需要发送10个32位的数
我这么做用抓包工具SSCOM32抓着数了,是“000000XX000000XX….."40个数,XX就是我要的16进制的数以此类推,但是浙大那边解析不了。浙大那边和我要PLC地址,动能码,等东西,可是我在组态的时候根本就没看到啊。我在网上看还要自己编写报文头和校验尾,这个真不会。请各位大侠帮帮忙告诉下,或者有和我差不多的示例也行,小弟感激不尽啊。
问题补充:
小弟的信箱928266877@qq.com我上传的图片就是我编写的程序
图片说明:
最佳答案
楼主用cp341和xp248通讯,如果采用的是ascii协议,那浙大那边是不需要plc地址等信息的。
先确定双方协商的协议报文,确定了报文结构,然后读写数据就可以了。
还需要注意的是,双方必须使用485通讯。
关于报文头尾的问题,那是报文结构定义中确定了。可以有报文头尾,也可以没有报文头尾。
浙大那边,只需要配置好串口基本信息,波特率、停止位、校验位等,与你plc组态中的一致。
然后那边使用GW_GETBYTE功能块,读取数据就行了。
htTP://wenku.baidu.com/link?url=tTyWLx6L5KW2G_Fx8sCjgwiIiLjs9Na2h0AMio0ZufVRybJCwycqfn9CtuslvFIjYVyonnePWFw6efhQY5U9XRF4pZJyhPCTmmBmNxdEpFG
提问者对于答案的评价:
大哥能不能说的具体点,怎么定义报文结构,浙大那边用什么块配置好串口基本信息,波特率、停止位、校验位,我看浙大那边用了4,5种方法用的块都用PLC地址啊,但是你给的方向是对的,最好大哥能把西门子和浙大两边都怎么做,描述以下,谢谢了能者多劳啊呵呵
专家置评
如果双方是在ASCII通信方式基础上约定报文格式,那么只需要将对方需要的数信息作为普通数据发送给对方就可以了。