Modbus TCP 通信程序 源代码
Modbus TCP 通信程序 源代码
This article explains a Modbus TCP common driver class. This class implements a modbus TCP master driver.
It supports the following commands:
Read coils
Read discrete inputs
Write single coil
Write multiple cooils
Read holding register
Read input register
Write single register
Write multiple register
Modbus 232 C# 例子
The modbus protocol comes in two flavors: RTU and ASCII. RTU is a binary implementation and is often most desirable. As such, this discussion will pertain solely to the RTU standard.
public bool SendFc3(byte address, ushort start,
ushort registers, ref short[] values)
{
//Ensure port is open:
if (sp.IsOpen)
{
//Clear in/out buffers:
sp.DiscardOutBuffer();
sp.DiscardInBuffer();
//Function 3 request is always 8 bytes:
byte[] message = new byte[8];
//Function 3 response buffer:
byte[] response = new byte[5 + 2 * registers];
//Build outgoing modbus message:
BuildMessage(address, (byte)3, start, registers, ref message);
//Send modbus message to Serial Port:
try
{
sp.Write(message, 0, message.Length);
GetResponse(ref response);
}
catch (Exception err)
{
modbusStatus = "Error in read event: " + err.Message;
return false;
}
//Evaluate message:
if (CheckResponse(response))
{
//Return requested register values:
for (int i = 0; i < (response.Length - 5) / 2; i++)
{
values[i] = response[2 * i + 3];
values[i] <<= 8;
values[i] += response[2 * i + 4];
}
modbusStatus = "Read successful";
return true;
}
else
{
modbusStatus = "CRC error";
return false;
}
}
else
{
modbusStatus = "Serial port not open";
return false;
}
}
C# 对图片的放大缩小 局部放大
C# 对图片的放大缩小 局部放大 供参考学习
Halcon 最新license 8月份
Halcon 最新license 2016 8月份
C# 使用Socket发送和接收TCP数据
C# 使用Socket发送和接收TCP数据,包含客户端和服务器端,发送Send,监听Listen ,C#运行环境VS2010
C#使用Socket发送和接收TCP数据
C#使用Socket发送和接收TCP数据,含客户端和服务器端程序,发送Send和监听Listen。测试可行。C#环境VS2010
NI Vision for LabVIEW 基础 pdf
NI Vision for LabVIEW 基础 pdf
机器视觉:算法和应用(英文)
机器视觉:算法和应用(英文)
1 Introduction 1
1.1 What is computer vision? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 A brief history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Book overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4 Sample syllabus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5 A note on notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.6 Additional reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2 Image formation 29
2.1 Geometric primitives and transformations . . . . . . . . . . . . . . . . . . . 31
2.1.1 Geometric primitives . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.2 2D transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.3 3D transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.4 3D rotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.5 3D to 2D projections . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.1.6 Lens distortions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2 Photometric image formation . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.2.1 Lighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.2.2 Reflectance and shading . . . . . . . . . . . . . . . . . . . . . . . . 62
2.2.3 Optics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.3 The digital camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.3.1 Sampling and aliasing . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3.2 Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.3.3 Compression .
delphi7 注册机
delphi 注册机 破解 序列号
安捷伦 噪声分析仪 8973A 编程手册
安捷伦 噪声分析仪 8973A 编程手册 代码 含通信指令 可通过GPIB卡与电脑通信
2010 NIWeek day1 NI 新产品博览 讲义.zip
NI LabVIEW 8.6
ni.com/china/labview86
NI LabVIEW 8.6 是专为工程师和科学家们设计的最新版本的图形化编程环境。
LabVIEW 不仅利用最新的并行技术(如多核处理器、现场可编程门阵列(FPGA)和
Wi-Fi 测量等)提高了系统性能,还设计了用于提高LabVIEW用户编程效率的新特性。
提高编程效率利用多核技术提升性能高级控制功能扩展的FPGA IP 核
引领并行技术时代的编程标准
VB和单片机串口通信程序实例
串口编程调试精灵
电机驱动监控系统
发送邮件系统
交通电子拍照管理系统
文件传送系统
云台控制系统
自动报警系统
单片机串行通信发射机 湖大论文
单片机串行通信发射机 湖大论文 31页 附程序
单片机与PC串口通信程序
单片机串口通信程序
8051与8051点对点通讯
8051与PC机间通讯软的设置
8031单片机通信软件(与PC).asm
PC机与51单片机的快速串行通信程序.asm
串行口方式1的发送和接收全双工
带纠错码的串行通信子程序
单片机与单片机点对点通讯
单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯单片机与单片机点对点通讯
单片机与PC机间通讯软的设置
PC机发送子程序.c
PC机接收子程序.c
PC机完全程序.c
PC机主程序.c
单片机查询发送子程序.asm
单片机接收中断子程序.asm
单片机完全程序.asm
单片机主程序.asm
PC机接收子程序.c
void receivef(char *fname)
{FILE *fp;
char ch;
int count,temp,sum=0;
remove(fname);
if((fp=fopen(fname,"w"))==NULL)
{printf("不能打开文件\n");
exit(1);
}
printf("接收文件名:%s\n",fname);
while(rport()!='?');
sport('$');
ch='.';
sport(ch);
temp=report();
。。。。。。。。。。。。。
{ch='0';
sport(ch);
fclose(fp);
printf("接收文件结束\n");
}
}
PC机发送子程序 串口
oid sendf(char *fname)
{FILE *fp;
char ch;
int handle,count,sum=0;
if((fp=fopen(fname,"r"))==NULL)
{printf("不能打开输入文!\n");
exit(1);
}
。。。。。。。。。。。。。。。。。。。。。
}
else
{fclose(fp);
printf("发送文件结束\n");
}
}
单片机与vb串口通信
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
#define COUNT 10 // 定义接收缓冲区大小
unsigned char buffer[COUNT]; //定义接收缓冲区
unsigned char point; //定义接收数据个数指示变量
void UART_init(); //串口初始化函数
void COM_send(void); //串口接收函数
unsigned char CLU_checkdata(void);//计算校验位函数
//--------------------------------------------------------------------------------------------------
// 函数名称: UART_init()串口初始化函数
// 函数功能: 在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s
// 串口接收中断允许,发送中断禁止
//--------------------------------------------------------------------------------------------------
void UART_init()
{
//初始化串行口和波特率发生器
SCON =0x58; //选择串口工作方式,打开接收允
。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。
函数名称: 主函数
// 函数功能: 调度个子函数,完成通信过程
//--------------------------------------------------------------------------------------------------
void main(void)
{
unsigned char checkdata;
do
{
UART_init(); //初始化串口
if(point==10) //判断数据是否接收完成
checkdata=CLU_checkdata; //调用求校验和函数
if(checkdata==buffer[9]) //判断校验和是否正确
COM_send();
//正确则调用发送程序
point=0;
}
while(1);
}
vb 与单片机串口通信程序
//---------------------------------------SComm控件的常用属性和方法-----------------------------
Commport;设置或返回串口号。
SettingS:以字符串的形式设置或返回串口通信参数。
Portopen:设置或返回串口状态。
InputMode:设置或返回接收数据的类型。
Inputlen:设置或返回一次从接收缓冲区中读取字节数。
InBufferSize:设置或返回接收缓冲区的大小,缺省值为l 024字节。
InBufferCount:设置或返回接收缓冲区中等待计算机接收的字符数。
Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。
OutBufferSize:设置或返回发送缓冲区的大小,缺省值为512字节。
OutBufferCount:设置或返回发送缓冲区中等待计算机发送的字符数。
Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。
设置好这些属性和方法,程序很容易就可以编出来了,其中要注意的是串口的波特串设置,OnComm事件的程序编写。
程序的设计是这样的,计算机向单片机发送一个’S’,表示通信开始。然后紧接着又发送9个字符,其中最后一个字符是前面9个字符(包括’S’)的校验和。单片机正确接收到10个字符后,把10个字符从新又送回来。
//---------------------------------------初始化串口设计-----------------------------
Private Sub Form_Load()
.....................................
d Sub
//---------------------------------------接收单片机发送的数据,并显示-----------------------------
Private Sub Comm1_OnComm()
Select Case Comm1.CommEvent '设置oncomm事件,读取片机内存的值
Case comEvReceive
Inputsignal=comm1.Input
Text1.Text=Asc(Inputsignal) '单片机内存的值用textbox显示出
Case Else
End select
End Sub
G6Y 继电器 datasheet
注明:英文的。G6Y 继电器 datasheet
Protel99SE精彩教程
图片教程的第1天: 学会自己画简单的SCH文件
第1课:新建一个*.DDB,新建一个SCH文件,并且添加画SCH要用到的零件库>>
第2课:利用添加好的零件库,进行画第一个可以自动布线的原理图>>
课后补充:SCH中一些必须要避免的错误!
图片教程的第2天: 学会从SCH到PCB的转变,并且进行自动布线
第一课:建立一个PCB文件,并且添加自动布线所必需的封装库
第二课:把前面的SCH文件变成PCB板
第三课: 对PCB进行自动布线
图片教程的第3天: 学会自己做SCH零件。说明:SCH零件库用来画图和自动布线
第一课:做一个SCH里面常要用到的电阻零件
图片教程的第4天: 学会自己做PCB零件封装
第一课:做一个属于自己的PCB零件封装
课后补充:PCB中一些必须要避免的错误!
布线方面的高级设置:自动布线和手动布线方面的高级设置问题
图片教程的第5天: 一些高级的常用技巧
一、SCH中的一些常用技巧
SCH的一些高级设置和常用技巧
二、PCB的一些高级设置和常用技巧
在PCB中,如何校验和查看PCB单个的网络连接情况
在PCB中给PCB补泪滴的具体操作
在PCB中给PCB做覆铜的具体操作
在PCB中如何打印出中空的焊盘(这个功能对于热转印制板比较有用)
在PCB中如何找到我们要找的封装
如何在PCB文件中加上漂亮的汉字
附件:PROTEL99SE 安装 License
5天(每天2小时),你就可以搞定PROTEL99SE的常规操作。
PCB设计基础教程.exe
适合初学者使用 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教 PCB设计基础教
印制电路板(PCB)
深圳市华为技术有限公司企业标准
目录
1. 1 适用范围
4
2. 2 引用标准
4
3. 3 术语
4
4. 4 目的
2
.1 4.1 提供必须遵循的规则和约定
2
.2 4.2 提高PCB设计质量和设计效率
2
5. 5 设计任务受理
2
.3 5.1 PCB设计申请流程
2
.4 5.2 理解设计要求并制定设计计划
2
6. 6 设计过程
2
.5 6.1 创建网络表
2
.6 6.2 布局
3
.7 6.3 设置布线约束条件
4
.8 6.4 布线前仿真(布局评估,待扩充)
8
.9 6.5 布线
8
.10 6.6 后仿真及设计优化(待补充)
15
.11 6.7 工艺设计要求
15
7. 7 设计评审
15
.12 7.1 评审流程
15
.13 7.2 自检项目
15
附录1: 传输线特性阻抗
附录2: PCB设计作业流程
单片机C51串口中断接收和发送测试例程(含通信协议的实现)
单片机C51串口中断接收和发送测试例程(含通信协议的实现),已调试通过,在公司做项目时用过的,C语言编写,含有详细解释。
TLC320AD50C中文资料 详细介绍该芯片的管脚,寄存器
包含TLC320AD50C管脚定义,原理功能框图,控制寄存器等
说话人识别代码 MATLAB 端点检测 预加重 MFCC
端点检测
-预加重-
fourier变换定义
-取成一维语音数据
-MFCC
神经网络部分-
基于DSP的实时语音检测的设计与实现
基于DSP的实时语音检测的设计与实现
一种基于DSP的实时语音检测的方法,通过设置中断服务程序实现DSP与DMA的并行处理
数字语音信号处理 详细介绍语音信号原理及语音编码,增强,识别等
详数字语音信号处理
细介绍语音信号原理及语音编码,增强,识别等