❶ C#串口 上位机怎么向下位机发送命令和接收下位机上传的数据
很简单的,你从网上搜串口编程,出来一堆,我给你参考,仅供参考:
用串口类SerialPort
1、打开串口
public bool ComOpen(int OutTime, string ComNum, int BaudRate)
{
try
{
com.PortName = ComNum;
com.BaudRate = 9600;
com.DataBits = 8;
//com.Parity = Parity.Even;
com.WriteTimeout = OutTime;
com.ReadTimeout = OutTime;
com.Open();
}
catch
{
return false;
//MessageBox.Show("打开串口失败!", "系统提示");
}
return true;
}
2、先把你的协议转换为byte数据,具体的你自己拼写,下面的是把你的字符串转换为为ascII码,你的十六进制的其实是ascII码形式
ASCIIEncoding MyInfo = new ASCIIEncoding();
byte[] MySend = MyInfo.GetBytes(AlarmCode);
在数组中,起始位一般是0x02还是0x03啊,忘了,你自己看着拼一下
3、串口发送或者接受命令,把你的数组发送出去或者取出来,都一样
public byte[] ComSend(byte[] sendbyte,int SleepTime)
{
//byte[] refbyte = new byte[500];
int reallength;
//try
//{
com.Write(sendbyte, 0, sendbyte.Length);
//return sendbyte;
//}
//catch
//{
// //MessageBox.Show("发送数据失败!");
// return null;
//}
try
{
reallength = com.BytesToRead;
byte[] refbyte = new byte[reallength];
reallength = com.Read(refbyte, 0, com.BytesToRead);
return refbyte;
}
catch
{
return null;
// MessageBox.Show("接收数据失败!");
}
}
❷ 什么是上位机和下位机
上位机和下位机分别是:
1、上位机:
上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化。
2、下位机:
下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。
(2)上位机发送操作命令给连锁软件扩展阅读:
通常上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。
当用计算机和PLC通讯的时候,不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯。采用封装好的程序开发工具就可以实现PLC和上位机的通讯,可以自己编写驱动类的接口协议控制上位机和下位机的通讯。
❸ 用labview(上位机)和单片机(下位机)串口通信发送指令给单片机
VISA可控制GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议。VISA独立于操作系统、总线和编程环境。换言之,无论使用何种设备、操作系统和编程语言,均使用相同的API。
开始使用VISA之前,应确保选择合适的仪器控制方法。
GPIB、串口、USB、以太网和某些VXI仪器使用基于消息的通信方式。对基于消息的仪器进行编程,使用的是高层的ASCII字符串。仪器使用本地处理器解析命令字符串,设置合适的寄存器位,进行用户期望的操作。SCPI(可编程仪器标准命令)是用于仪器编程的ASCII命令字符串的标准。相似的仪器通常使用相似的命令。用户只需学习一组命令,而无需学习各个仪器生产厂商各种仪器的不同命令消息。最常用的基于消息的函数是:VISA读取、VISA写入、VISA置触发有效、VISA清空和VISA读取STB。
PXI和许多VXI仪器使用基于寄存器的通信方式。对基于寄存器的仪器进行编程,使用的是将直接写入仪器控制寄存器的底层二进制信息。该通信方式的优点是速度快,因为仪器不需解析命令字符串,并将信息转换为寄存器层次的程序。基于寄存器的仪器实际上是在直接硬件操作层上进行通信。最常用的基于寄存器的函数是:VISA输入、VISA输出、VISA转入和VISA转出。
❹ 涓娄綅链轰细璁﹑lc鍗℃诲悧
涓昏傚垽鏂绫婚梾棰桡细涓娄綅链轰细璁㏄LC鍗℃诲悧锛
锲炵瓟锛氢竴鑸𨱍呭喌涓嬶纴涓娄綅链轰笉浼氱洿鎺ュ艰嚧PLC鍗℃汇傚洜涓轰笂浣嶆満鏄鐢ㄤ簬鐩戞带鍜屾带鍒禤LC镄勮惧囷纴瀹冮氲繃涓嶱LC杩涜岄氢俊𨱒ュ彂阃佹寚浠ゅ拰鎺ユ敹鏁版嵁銆备絾鏄锛屽湪镆愪簺鐗规畩𨱍呭喌涓嬶纴涓娄綅链虹殑镎崭綔鍙鑳戒细瀵笔LC镄勮繍琛屼骇鐢熶竴瀹氩奖鍝嶏纴瀵艰嚧PLC鍑虹幇寮傚父鎴栧崱姝荤殑𨱍呭喌銆傝繖浜涙儏鍐靛彲鑳藉寘𨰾锛
1. 阃氢俊鏁呴㱩锛氩傛灉涓娄綅链轰笌PLC涔嬮棿镄勯氢俊鍑虹幇闂棰桡纴渚嫔傞氢俊鏂寮銆佹暟鎹涓㈠け绛夛纴鍙鑳戒细瀵艰嚧PLC镞犳硶姝e父鍝嶅簲鎸囦护锛屼粠钥屽嚭鐜板崱姝荤殑𨱍呭喌銆
2. 鎸囦护鍐茬獊锛氩傛灉涓娄綅链哄彂阃佺殑鎸囦护涓嶱LC姝e湪镓ц岀殑鎸囦护鍐茬獊锛屽彲鑳戒细瀵艰嚧PLC杩愯屽纾甯告垨鍗℃汇傝繖鍙鑳芥槸鐢变簬涓娄綅链哄拰PLC涔嬮棿镄勯氢俊寤惰繜鎴栨暟鎹浼犺緭阌栾瀵艰嚧镄勚
3. 璧勬簮绔炰簤锛氩傛灉涓娄綅链哄彂阃佺殑鎸囦护闇瑕佸崰鐢≒LC镄勬煇浜涜祫婧愶纴钥岃繖浜涜祫婧愭e湪琚鍏朵粬鎸囦护鎴栦换锷″崰鐢锛屽彲鑳戒细瀵艰嚧璧勬簮绔炰簤锛岃繘钥屽艰嚧PLC鍑虹幇鍗℃荤殑𨱍呭喌銆
𨰾揿𪾢鍐呭癸细
涓轰简阆垮厤涓娄綅链哄艰嚧PLC鍗℃荤殑𨱍呭喌锛屽彲浠ラ噰鍙栦互涓嬫帾鏂斤细
1. 绋冲畾镄勯氢俊鐜澧冿细纭淇濅笂浣嶆満涓嶱LC涔嬮棿镄勯氢俊鐜澧幂ǔ瀹氾纴渚嫔备娇鐢ㄥ彲闱犵殑阃氢俊鍗忚銆佹娴嬮氢俊鏁呴㱩骞跺强镞跺勭悊绛夈
2. 钖堢悊镄勬寚浠ゅ彂阃佺瓥鐣ワ细鍦ㄨ捐′笂浣嶆満涓嶱LC阃氢俊镞讹纴钖堢悊瀹夋帓鎸囦护镄勫彂阃佺瓥鐣ワ纴阆垮厤鎸囦护鍐茬獊鍜岃祫婧愮珵浜夌殑闂棰樸傚彲浠ラ噰鐢ㄤ紭鍏堢骇璋冨害銆佸悎鐞嗗垎閰嶈祫婧愮瓑鏂规硶𨱒ラ伩鍏嶉梾棰樼殑鍙戠敓銆
3. 寮傚父澶勭悊链哄埗锛氩湪涓娄綅链哄拰PLC阃氢俊杩囩▼涓锛屽缓绔嫔仴鍏ㄧ殑寮傚父澶勭悊链哄埗锛屽强镞舵娴嫔拰澶勭悊阃氢俊寮傚父銆佹寚浠ゅ啿绐佺瓑闂棰桡纴浠庤屽噺灏慞LC鍗℃荤殑椋庨橹銆
镐讳箣锛岃槠铹朵笂浣嶆満镎崭綔涓鑸涓崭细鐩存帴瀵艰嚧PLC鍗℃伙纴浣嗗湪璁捐″拰浣跨敤杩囩▼涓浠嶉渶娉ㄦ剰阃氢俊绋冲畾镐с佹寚浠ゅ彂阃佺瓥鐣ヤ互鍙婂纾甯稿勭悊链哄埗锛屼互纭淇濅笂浣嶆満涓嶱LC镄勬e父杩愯屻