串口服务器有什么好处
深圳市振鑫通信科技生产串口服务器的作用主要是将带有RS485、RS232、RS422串口设备进行联网通信传输,进行数据的采集和发送。ZP-8621高性能串口联网服务器采用美国原装的进口芯片,内嵌当前主流以太网通信数据格式,兼容很全面。能轻松将设备带入以太网,是您数据采集,监控理想工业通信解决方案产品。
ZP-8621联网服务器在功能上可以采用局域网,互联网,外网,跨网关等多种工作方式。他不仅可以内部通信,而且可以做两个不同城市的远程监控,采集等功能,是和工业以太网交换机配合使用的可靠选择。本产品在链接的时候无需更改设备的参数,因为本产品自身有自动读取数据及参数配置功能,特使是在交换机连接时,对很多没有这一方面的技术来简单、实用。智能操作。当然根据不同的使用需求,本模块也可以根据已经使用的网关进行修改参数、网段等,无需客户更改已有的设备参数。真正做到即插即用。网络协议上ZP-8621可以选择静态、动态、路由器等通信方式;动态采取自动获取,静态修改相关的网关、掩码、DNS等参数。为了加强安全管理,防止网络攻击,本产品开发了密码管理功能,大大增强网络完全性。
ZP-8621在传输模式上可以选择TCP Server、TCP Client、UDP Server、UDP Client、Socket、虚拟串口等。可以在使用中自由切换上位机和下位机。工作实时性上具有断线检测、断线重连、内置看门狗等各类故障恢复机制、管理员口令IP认证系统。
工业安全方面采用用磁偶或光电隔离、内置国标电源系统、高等级防护芯片,防雷、脉冲、电磁保护。设备可以单个使用,也能成对使用,支持点对点和点对多点的双向透明传输模式,无需更改原有的协议数据格式。
二、振鑫通信-串口服务器工作模式
本公司所有的串口服务器工作模式都支持下面这些工作模式,可以通过串口服务器的管理功能配置相应的工作参数,就可以切换到所需要的模式。
1、网络工作模式
TCP/IP Server 模式
串口服务器监听 TCP/IP 端口并等待连接,向串口服务器发起连接的可以是电脑或其他嵌入式网络设备。
2、 TCP/IP Client 模式
串口服务器根据设置,向指定的远程主机 TCP/IP 端口发起连接,这些主机必须工作在 Server模式。
3、 UDP 广播模式
此模式下,串口服务器将用 UDP 广播方式进行数据通讯,默认设置下,数据将被使用UDP方式发往广播地址: 255255255255:246,同时串口服务器从地址: 255255255255:378
接收数据,用户也可以根据需要修改这些参数。
此模式可以实现单虚拟串口与多个串口服务器进行通讯的方案。也可以实现一个串口服务器
发送多串口服务器接收的一对多透传方案。
4、跨网段访问
Server、 Client 模式支持跨网段访问。
TCP/IP Server 模式
设置串口服务器的网关地址,为有效网关的 IP 地址。在网关上设置 NAT 规则,将串口服务器的 IP 地址、监听端口映射为网关上的一个 TCP/IP 端口,向网关上的这个端口发起连接,
就可以与串口服务器建立通讯。
TCP/IP Client 模式
设置串口服务器的网关地址,为有效网关的 IP 地址。并为串口服务器指定要连接的远程主机地址,如果设置正确,串口服务器就可以通过网关与远程主机建立 TCP/IP 连接:
A、动态域名设置法:工作模式选择工作站 TCP CLIENT 模式,服务器域名写远端服务器的域名地址,勾选“启用”。目标端口号就是你服务器要监听的端口号,这种模式可以获取到动态域名的"IP"地址,域名指向的"IP"地址必须正确。
B、虚拟串口模式设置方法,虚拟串口工作在服务器模式 TCP SERVER,监听端口号 478 时,端口号可以任意更改,并设置好动态域名指向此服务器电脑(即安装了虚拟串口软件的电脑)注意:以上设置方法适合跨互联网应用;在局域网环境使用时, ZP-8621/ZP-8404 系列作为服务器,协议类型为 TCP SERVER 或 VCOM 模式时,不用设置目标端口号。
具体的串口服务器参考资料http://wwwzxpmqcom/
串口服务器的使用配置方法资料http://wwwzxpmqcom/s-215html
//创建一个串口通讯
SerialPort CurrentPort = null;
CurrentPort = new SerialPort();
CurrentPortReadBufferSize = 128;
CurrentPortPortName = comName; //端口号
CurrentPortBaudRate = bandRate; //比特率
CurrentPortParity =parity;//奇偶校验
CurrentPortStopBits = stop;//停止位
CurrentPortDataBits = databit;//数据位
CurrentPortReadTimeout = 1000; //读超时,即在1000内未读到数据就引起超时异常
//绑定数据接收事件,因为发送是被动的,所以你无法主动去获取别人发送的代码,只能通过这个事件来处理
CurrentPortDataReceived += Sp_DataReceived;
CurrentPortOpen();
定义一个变量 byte[] receiveStr;
//绑定的事件处理函数
private static void Sp_DataReceived(object sender, SystemIOPortsSerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
if (sp == null)
return;
byte[] readBuffer = new byte[spReadBufferSize];
spRead(readBuffer, 0, readBufferLength);
//赋值
receiveStr=readBuffer;//当然你可以通过转换将byte[]转换为字符串。
}
//你要求的按钮事件可以这么写
private void button1_Click(object sender, EventArgs e)
{
if(receiveStr!=null)
{
变量 xxx=receiveStr;
}
}
0条评论