工作需要,常常使用工程控制中使用的iec104 、opc、 modbus等协议。不过我编写的程序多是在应用层实现的。为了之后的工作和学习,写了最简单的测试程序,用于测试modbus下位机(应该不是叫下位机吧!只是一种提供服务的设备)的应答。
编程思路都很简单,创建请求帧,并接收响应帧,解析出来即可。我使用了两种编程语言,主要是以防万一其中一个的运行环境处问题(前几天.NET就用不起了,不得不用办公室提供的服务器编译和调试)。
C# 直接使用.NET 中的套接字即可, System.Net.Sockets.TcpClient 类,是一个System.Net.Sockets.Socket 类的适配器 ,若需要也可以自己写一个这样的适配器:
/*
AUTHOR : YEZ
DATE : 2015/1/2
DESCRIBE : simplifying modbus test
with func_code = 0x04
sta_addr = 0x0063
count = 0x0003
*/
namespace mbs
{
using System;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.IO;
public class init_mbs {
public static void testframe () {
TcpClient client = new TcpClient ();