❶ 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父榪愯屻