PLC通信 Tpc客戶端Socket

1.PLC通信?

namespace _2.PLC通信
{public partial class Form1 : Form{public Form1(){InitializeComponent();}//連接//1.型號: 跟PLC溝通 使用哪個型號的PLC//2.IP 同上//3.機臺號:同上//4.插槽號:同上Plc plc = new Plc(CpuType.S71200, "192.168.25.80", 0, 1);private void button1_Click(object sender, EventArgs e){//連接plc.Open();}//讀取private void button2_Click(object sender, EventArgs e){//讀取數據的類型是什么?//讀取bool值   值是DBX  讀取int類型 DBW  其他類型DBD  bool b = (bool)plc.Read("DB1.DBX0.0");int i = (int)plc.Read("DB3.DBW1.2");if (b){//例如執行拍照邏輯}}//發送private void button3_Click(object sender, EventArgs e){plc.Write("DB1.DBD0.2", "240,69");plc.Write("DB3.DBX0.3", true);}//關閉private void button4_Click(object sender, EventArgs e){plc.Close();}}

2.Tpc客戶端Socket

namespace _1.Tcp_客戶端
{public partial class Form1 : Form{public Socket socket;//接收信息的線程Thread T1;public Form1(){InitializeComponent();Control.CheckForIllegalCrossThreadCalls = false;}//連接private void button1_Click(object sender, EventArgs e){button1.Enabled = false;button2.Enabled = true;button3.Enabled = true;//設置通信socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//綁定IPIPAddress ip = IPAddress.Parse(textBox1.Text);//創建端口號int port = Convert.ToInt32(textBox2.Text);//形成IP連接點IPEndPoint point = new IPEndPoint(ip, port);//連接try{socket.Connect(point);ShowMsg($"{DateTime.Now.ToString("HH:mm:ss")}-->連接服務器: {point}");ShowMsg("\r\n");// 接收信息T1 = new Thread(o =>{//創建一個新的Socket 將建立連接的套接字傳遞過來賦值給新的套接字 進行通信socket = o as Socket;//不斷地接收信息while (true){byte[] bytes = new byte[1024 * 2];int r = socket.Receive(bytes);if (r == 0){break;}// 接收到的數據string str = Encoding.UTF8.GetString(bytes);ShowMsg($"{DateTime.Now.ToString("HH:mm:ss")}-->接收到服務端信息: {str}");ShowMsg("\r\n");// T1                                  .//if (str.Contains("T1") )//{//    要執行的邏輯了//}}});T1.IsBackground = true;T1.Start(socket);}catch(Exception ex) { }}public void ShowMsg(string msg){textBox3.Text += $"{msg}";}//關閉private void button2_Click(object sender, EventArgs e){if (socket != null){// 給服務端發送一個告知關閉的信息socket.Close();T1.Abort();button1.Enabled = true;button2.Enabled = false;button3.Enabled = false;ShowMsg($"{DateTime.Now.ToString("HH:mm:ss")}--> 與服務器斷開連接");ShowMsg("\r\n");}}//發送信息事件private void button3_Click(object sender, EventArgs e){byte[] bytes = Encoding.Default.GetBytes(textBox4.Text);socket.Send(bytes);//顯示ShowMsg($"{DateTime.Now.ToString("HH:mm:ss")}-->向服務端發送:{textBox4.Text}");textBox4.Clear();}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/97018.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/97018.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/97018.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android 開發實戰:從零到一集成 espeak-ng 實現中文離線 TTS(無需賬號開箱即用)

簡介 在移動應用開發中,語音合成(TTS)技術是提升用戶體驗的重要工具。然而,許多開發者在集成 TTS 時面臨依賴網絡、需注冊賬號、功能受限等問題。本文將帶你從零開始,通過開源項目 espeak-ng,實現無需賬號、開箱即用的中文離線語音播報。 文章將覆蓋以下核心內容: esp…

直播APP集成美顏SDK詳解:智能美妝功能的開發實戰

在這個“顏值即正義”的時代,用戶對直播APP的第一印象,往往來自主播的畫面質量。高清的視頻固然重要,但如果缺少自然美顏和智能美妝功能,觀眾體驗就會大打折扣。于是,美顏SDK成了直播行業的“標配”。今天,…

C++內存管理:new與delete的深層解析

1. 引言在C的世界里,動態內存管理是一個核心話題。對于從C語言過渡到C的開發者來說,一個常見的困惑是:既然C語言的malloc和free依然可以在C中使用,為什么C還要引入new和delete這兩個操作符?本文將深入探討這兩對內存管…

【AI開發】【前后端全棧】[特殊字符] AI 時代的快速開發思維

🚀 AI 時代的快速開發思維 —— 以 Django Vue3 為例的前后端分離快捷開發流程 一、AI 時代的開發新思路 在 AI 的加持下,軟件開發不再是“純體力活”,而是 思維工具自動化 的協作。 過去:需求 → 設計 → 開發 → 測試 → 上…

Day24_【深度學習(3)—PyTorch使用—張量的創建和類型轉換】

一、創建張量1.張量基本創建方式torch.tensor 根據指定數據創建張量 (最重要)torch.Tensor 根據形狀創建張量, 其也可用來創建指定數據的張量torch.IntTensor、torch.FloatTensor、torch.DoubleTensor 創建指定類型的張量1.1 torch.tensor# 方式一&…

3-12〔OSCP ? 研記〕? WEB應用攻擊?利用XSS提權

鄭重聲明: 本文所有安全知識與技術,僅用于探討、研究及學習,嚴禁用于違反國家法律法規的非法活動。對于因不當使用相關內容造成的任何損失或法律責任,本人不承擔任何責任。 如需轉載,請注明出處且不得用于商業盈利。 …

AI 大模型賦能智慧礦山:從政策到落地的全棧解決方案

礦山行業作為能源與工業原料的核心供給端,長期面臨 “安全生產壓力大、人工效率低、技術落地難” 等痛點。隨著 AI 大模型與工業互聯網技術的深度融合,智慧礦山已從 “政策引導” 邁入 “規模化落地” 階段。本文基于 AI 大模型智慧礦山行業解決方案&…

Node.js 項目依賴包管理

h5打開以查看 一、核心理念:從“能用就行”到“精細化管理” 一個規范的依賴管理體系的目標是: 可復現:在任何機器、任何時間都能安裝完全一致的依賴,保證構建結果一致。 清晰可控:明確知道每個依賴為何存在&#x…

洛谷P1835素數密度 詳解

題目如下:這里面有部分代碼比較有意思:1,為何開始先遍歷,最終值小于50000?因為題目要求的右邊與左邊差小于 10^6 ,所以最多有10^3個素數,所以保存里面的素數數量大于1000,而50000的化…

突破限制:FileCodeBox遠程文件分享新體驗

文章目錄【視頻教程】1.Docker部署2.簡單使用演示3. 安裝cpolar內網穿透4. 配置公網地址5. 配置固定公網地址在隱私日益重要的今天,FileCodeBox與cpolar的協同為文件傳輸提供了安全高效的解決方案。通過消除公網IP限制和隱私顧慮,讓每個人都能掌控自己的…

以太網鏈路聚合實驗

一、實驗目的掌握使用手動模式配置鏈路聚合的方法掌握使用靜態 LACP 模式配置鏈路聚合的方法掌握控制靜態 LACP 模式下活動鏈路的方法掌握靜態 LACP 的部分特性的配置二、實驗環境安裝有eNSP模擬器的PC一臺,要求PC能聯網。三、實驗拓撲LSW1與LSW2均為S3700交換機。L…

autMan安裝教程

一、安裝命令 如果你系統沒安裝docker,請看往期教程 以下為通用命令 docker run -d --name autman --restart always -p 8080:8080 -p 8081:8081 -v /root/autman:/autMan --log-opt max-size10m --log-opt max-file3 hdbjlizhe/autman:latest解釋一下以上命令&…

【無人機】自檢arming參數調整選項

檢查項目 (英文名)中文含義檢查內容四旋翼建議 (新手 → 老手)理由說明All所有檢查啟用下面所有的檢查項目。? 強烈建議勾選這是最安全的設置,確保所有關鍵系統正常。Barometer氣壓計檢查氣壓計是否健康、數據是否穩定。? 必須勾選用于定高模式,數據異…

數字圖像處理(1)OpenCV C++ Opencv Python顯示圖像和視頻

Open CV C顯示圖像#include <iostream> #include <opencv2/opencv.hpp> using namespace cv;//包含cv命名空間 int main() {//imread(path)&#xff1a;從給定路徑讀取一張圖片&#xff0c;儲存為Mat變量對象Mat img imread("images/love.jpg");//named…

【芯片設計-信號完整性 SI 學習 1.2.2 -- 時序裕量(Margin)】

文章目錄1. 什么是時序裕量&#xff08;Margin&#xff09;1. 背景&#xff1a;為什么需要數字接口時序分析2. 時鐘周期方程3. Setup 裕量 (tMARGIN_SETUP)4. Hold 裕量 (tMARGIN_HOLD)5. 設計注意事項6. 實際應用場景2. 時序裕量的來源3. 測試方法(1) 眼圖測試 (Eye Diagram)(…

AOP 切面日志詳細

在業務方法上打注解package com.lib.service;Service public class BookService {LogExecution(description "查詢圖書")public Book query(int id) {return repo.findById(id);}LogExecution(description "借閱圖書")public void borrow(int id) {// 模…

使用paddlepaddle-Gpu庫時的一個小bug!

起初安裝的是 paddlepaddle 2.6.1版本。 用的是Taskflow的快速分詞以及ner快速識別&#xff1a;???????seg_accurate Taskflow("word_segmentation", mode"fast") ner Taskflow("ner", mode"fast")但是使用不了Gpu。想使用Gp…

量子能量泵:一種基于并聯電池與電容陣的動態直接升壓架構

量子能量泵&#xff1a;一種基于并聯電池與電容陣的動態直接升壓架構 摘要 本文提出了一種革命性的高效電源解決方案&#xff0c;通過創新性地采用并聯電池組與串聯高壓電容陣相結合的架構&#xff0c;徹底解決了低電壓、大功率應用中的升壓效率瓶頸與電池一致性難題。該方案摒…

【Linux網絡】網絡基礎概念——帶你打開網絡的大門

1. 計算機網絡背景 文章目錄1. 計算機網絡背景網絡發展2. 初識協議2.1 協議分層軟件分層的好處2.2 OSI七層模型2.3 TCP/IP五層(或四層)模型網絡發展 獨立模式 獨立模式是計算機網絡發展的最初階段&#xff0c;主要特點如下&#xff1a; 單機工作環境&#xff1a; 每臺計算機完…

簡單介紹一下Clickhouse及其引擎

一、ClickHouse 的優缺點一、ClickHouse 的優點 ? 1. 極致的查詢性能 列式存儲&#xff1a;只讀取查詢涉及的列&#xff0c;大幅減少 IO。數據壓縮&#xff1a;常見壓縮率 5~10 倍&#xff0c;減少存儲和帶寬消耗。向量化執行&#xff1a;按批次&#xff08;block&#xff09;…