本人遇到一个问题:  怎么通过COM口衍射成 IP 地址,然后对 四百个点 进行读写数据的?以前做过对一个点(下位机)进行读写数据,一个COM 口对应一个IP 地址,可是现在有四百个点(四百个IP),那怎么办?怎么用一个COM 口在衍射IP 地址时,能对这四百个点进行循环读写数据?

解决方案 »

  1.   

    1.考虑使用1对多的TCP/IP<->COM转换设备
    2.使用RS485<->COM转换器,不过要求下位机支持地址码
      

  2.   

    我用的是MOXA(莫萨)的,好像都是一个COM口对应一个IP地址的
      

  3.   

    现在是这样的,搞硬件的人会把在PLC 里面的数据存储的地址告诉我,我就可以读写那个PLC 里面的数据,  可是现在有四百个点(PLC),应该怎么读啊,我只做过对一个点(PLC)的读写,关键是不知道怎么设置COM口转IP 地址,是不是要设置 400个COM 口??????
      

  4.   

    因为有400个点(PLC)都要通过COM 口来衍射成IP 地址,所以就有了 400个COM口,那这样进行读写数据,能行得通吗?
      

  5.   

    对于四百个COM 口怎么进行读取数据啊?我的天啦,我只做对一个COM 口的数据读写!~
      

  6.   

    你是在每个下位机处安装了一个串口转以太网的转换器?如果是的话, 每个转换器应该看成是一个服务端(需要设置相应的IP地址和服务端口), 你的应用程序直接通过以太网以TCP协议(通讯格式需要查阅转换器的相关文档)去连接这些转换器就行了(运行你的应用程序的主机上不需要串口或者与串口相关的设备)。
      

  7.   

    对,我每个下位机处安装了一个串口转以太网的转换器(共有360)个,应用程序直接通过以太网以TCP协议去连接这些转换器的,我要对这么多的转换器发送数据,应该怎么做?
    --------------------------------------------------------
    回复人: jadeluo(秀峰) ( ) 信誉:100 你是在每个下位机处安装了一个串口转以太网的转换器?如果是的话, 每个转换器应该看成是一个服务端(需要设置相应的IP地址和服务端口), 你的应用程序直接通过以太网以TCP协议(通讯格式需要查阅转换器的相关文档)去连接这些转换器就行了(运行你的应用程序的主机上不需要串口或者与串口相关的设备)。
      

  8.   

    回复人: jadeluo(秀峰) ( ) 信誉:100 ======== 在吗?找你帮帮忙,请问你做过多个串口方面的程序吧?
    请加我:QQ:46608957
      

  9.   

    实际上,我的PC上只有一个COM 口的,PC通过网线连接到HUB ,HUB 再连接多个(可以是400个)“串口转以太网的转换器”,串口转以太网的转换器 再连接到下位机,
      “串口转以太网的转换器“ 可以把一个COM口虚拟成几百个COM口,每个COM口都对应一个IP 地址我用的是MOXA 的转换器;所以在对这么多的点(下位机)进行读写数据时,是不是要做一个FOR 循环,要对COM1--COM400都进行打开和关闭这样才能进行读写数据?
      

  10.   

    =========================================================================================
    实际上,我的PC上只有一个COM 口的,PC通过网线连接到HUB ,HUB 再连接多个(可以是400个)“串口转以太网的转换器”,串口转以太网的转换器 再连接到下位机,
      “串口转以太网的转换器“ 可以把一个COM口虚拟成几百个COM口,每个COM口都对应一个IP 地址我用的是MOXA 的转换器;所以在对这么多的点(下位机)进行读写数据时,是不是要做一个FOR 循环,要对COM1--COM400都进行打开和关闭这样才能进行读写数据?
    =========================================================================================
    用WinSock以TCP方式与这400个转换器进行连接,向下位机写数据就是直接向它对应的WinSock写数据,读下位机发送来的数据就是等待WinSock的数据到达事件。不需要采用循环的轮询方式。
      

  11.   

    惨了,我还没有做过WINSOCK 方面的程序呢?、
    应该怎么做?能否再说说?
      

  12.   

    是400个点还是400个PLC?,DH485应该可以,不过现在CCLINK比较火,查一下www.gongkong.com(工控在线)
      

  13.   

    我是要对400个PLC 进行数据的读写,这也可以用WinSockt 的方式吗?=========================================================用WinSock以TCP方式与这400个转换器进行连接,向下位机写数据就是直接向它对应的WinSock写数据,读下位机发送来的数据就是等待WinSock的数据到达事件。不需要采用循环的轮询方式。
      

  14.   

    用WINSOCKT 应该要有客户端吧?可是我是对PLC 直接读写数据的,也就是能过协议直接读写硬件的数据,哪来的客户端呀? 
    我要读取400个PLC 的数据
      

  15.   

    WinSocket连接的是那些转换器, 而不是直接连接PLC, 与PLC连接的是转换器的串口。转换器完成以太网(TCP)数据与串口数据之间的转发,大多数转换器是透明地转发的,也就是说转换器从串口收到什么数据,就直接从以太网口发送出去(不另行打包),反之亦然。
      

  16.   

    非常谢谢 回复人: jadeluo(秀峰) ( ) 信誉:100  的回答