重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
关于串口通讯的问题:
创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:网站设计、网站建设、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
很明显,你还不知道(不会、不习惯)使用事件驱动的方式接收数据。
建议你仔细看看串口组件(无论VB6还是VB.net)的OnComm事件,你的问题很容易解决。
关于以太网通讯:
在TCP通讯中端口确实可以重用,你百度一下“TCP端口重用”能查到很多示例。
但绝大多数情况下不推荐端口重用,而应该采取服务器端建立连接池的方法。
或者,干脆不用TCP,用UDP解决也可以。
没用过modbus通信写过,但是使用自由通信可以
VB.net带有通信控件,在里面设置波特率、奇偶效验、数据位、COM口
在PLC里做个自由通信就可以
最简单的办法是用句柄操作窗体,这种方法就好比是计算机在代替你在打开设置窗口,完成设置。
比较难实现的方法是用API,不过我不知道用那些API,而且还要驱动支持
因为vb。net是高级语言,不能直接操作驱动,所以直接写汇编是不可行的
tcp协议是一个世界公开的协议,既然你在vb端能搞定如何进行数据通讯,1200就很简单了。
在1200侧你只需建立一个tcp的连接即可,连接类型为未指定,之后按照你自己的要求确定谁是客户机,谁是服务器就好了,具体的建立连接的步骤可以参照1200的文档,你可以在下面的文档的通讯一章找到如何建立TCP连接的过程
西门子 S7-1200 PLC Smart Plus 技术参考Version 1.8