国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 讀取西門(mén)子S7系列PLC教程及源碼

這篇具有很好參考價(jià)值的文章主要介紹了C# 讀取西門(mén)子S7系列PLC教程及源碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

創(chuàng)建 PLC 實(shí)例,連接和斷開(kāi)連接

若要?jiǎng)?chuàng)建驅(qū)動(dòng)程序的實(shí)例,需要使用此構(gòu)造函數(shù):

public Plc(CpuType cpu, string ip, Int16 rack, Int16 slot)
  • CPU:這指定您要連接到的?CPU。支持的 CPU 包括:
public enum CpuType {
    S7200 = 0,
    S7300 = 10,
    S7400 = 20,
    S71200 = 30,
    S71500 = 40,
}
  • ip:指定 CPU 或外部以太網(wǎng)卡的 IP 地址
  • 機(jī)架:它包含PLC的機(jī)架,您可以在Step7的硬件配置中找到
  • 插槽:這是CPU的插槽,您可以在Step7的硬件配置中找到

例:

此代碼為 IP 地址為 7.300.127.0 的 S0-1 plc 創(chuàng)建一個(gè) Plc 對(duì)象,為 CPU 位于插槽 0 的機(jī)架 2 中的 plc 創(chuàng)建一個(gè) Plc 對(duì)象:

Plc plc = new Plc(CpuType.S7300, "127.0.0.1", 0, 2);

連接到 PLC

public void Open()

例如,這行代碼打開(kāi)連接:

plc.Open();

斷開(kāi)與 PLC 的連接

public void Close()

例如,這將關(guān)閉連接:

plc.Close();

錯(cuò)誤處理

任何方法都可能導(dǎo)致各種錯(cuò)誤。您應(yīng)該實(shí)現(xiàn)正確的錯(cuò)誤處理。 提供了 和 足夠的錯(cuò)誤消息。PlcExceptionPlcExceptionErrorCode

以下是錯(cuò)誤的類(lèi)型:

public enum ErrorCode
{
    NoError = 0,
    WrongCPU_Type = 1,
    ConnectionError = 2,
    IPAddressNotAvailable, 
    WrongVarFormat = 10,
    WrongNumberReceivedBytes = 11, 
    SendData = 20,
    ReadData = 30, 
    WriteData = 50
}

?

檢查 PLC 可用性

要檢查 plc 是否可用(打開(kāi)套接字),您可以使用該屬性

public bool IsAvailable

當(dāng)您檢查此屬性時(shí),驅(qū)動(dòng)程序?qū)L試連接到 plc,如果它可以連接,則返回 true,否則返回 false。

檢查 PLC 連接

檢查 plc 連接是微不足道的,因?yàn)槟仨殭z查 PC 插座是否已連接,而且還要檢查 PLC 是否仍連接在插座的另一側(cè)。 在這種情況下,您必須檢查的屬性是:

public bool IsConnected

在調(diào)用方法 Open() 并且結(jié)果成功后,可以檢查此屬性,以檢查連接是否仍處于活動(dòng)狀態(tài)。

?

讀取字節(jié)/寫(xiě)入字節(jié)

該庫(kù)提供了幾種讀取變量的方法?;竞妥畛S玫氖荝eadBytes。

public byte[] ReadBytes(DataType dataType, int db, int startByteAdr, int count)

public void WriteBytes(DataType dataType, int db, int startByteAdr, byte[] value)

這將從給定內(nèi)存位置讀取您指定的所有字節(jié)。此方法會(huì)自動(dòng)處理多個(gè)請(qǐng)求,以防字節(jié)數(shù)超過(guò)單個(gè)請(qǐng)求中可以傳輸?shù)淖畲笞止?jié)數(shù)。

  • 數(shù)據(jù)類(lèi)型:您必須使用枚舉數(shù)據(jù)類(lèi)型指定內(nèi)存位置
public enum DataType
{
    Input = 129,
    Output = 130,
    Memory = 131,
    DataBlock = 132,
    Timer = 29,
    Counter = 28
}
  • db:數(shù)據(jù)類(lèi)型的地址,例如如果要讀取 DB1,此字段為 “1”;如果要讀取 T45,則此字段為 45。
  • startByteAdr:要讀取的第一個(gè)字節(jié)的地址,例如,如果要讀取 DB1。DBW200,這是200。
  • 計(jì)數(shù):包含要讀取的字節(jié)數(shù)。
  • 值[ ]:要從PLC讀取的字節(jié)數(shù)組。

例: 此方法讀取 DB200 的前 1 個(gè)字節(jié):

var bytes = plc.ReadBytes(DataType.DataBlock, 1, 0, 200);

讀寫(xiě)解碼

此方法允許根據(jù)提供的varType讀取和接收已解碼的結(jié)果。如果您讀取多個(gè)相同類(lèi)型的字段(例如 20 個(gè)連續(xù)的 DBW),這將非常有用。如果指定 VarType.Byte,則它具有與 ReadBytes 相同的功能。

public object Read(DataType dataType, int db, int startByteAdr, VarType varType, int varCount)

public void Write(DataType dataType, int db, int startByteAdr, object value)
  • 數(shù)據(jù)類(lèi)型:您必須使用枚舉數(shù)據(jù)類(lèi)型指定內(nèi)存位置
public enum DataType
{
    Input = 129,
    Output = 130,
    Memory = 131,
    DataBlock = 132,
    Timer = 29,
    Counter = 28
}
  • db:數(shù)據(jù)類(lèi)型的地址,例如如果要讀取 DB1,此字段為 “1”;如果要讀取 T45,則此字段為 45。
  • startByteAdr:要讀取的第一個(gè)字節(jié)的地址,例如,如果要讀取 DB1。DBW200,這是200。
  • varType:指定要轉(zhuǎn)換字節(jié)的數(shù)據(jù)。
public enum VarType
{
    Bit,
    Byte,
    Word,
    DWord,
    Int,
    DInt,
    Real,
    String,
    StringEx,
    Timer,
    Counter
}
  • count:包含要讀取的變量數(shù)。
  • :要寫(xiě)入 PLC 的值數(shù)組。它可以是單個(gè)值或數(shù)組,只需記住該類(lèi)型是唯一的(例如雙精度數(shù)組、整數(shù)數(shù)組、短整型數(shù)組等)。

例: 此方法讀取 DB20 的前 1 個(gè) DWord:

var dwords = plc.Read(DataType.DataBlock, 1, 0, VarType.DWord, 20);

讀取單個(gè)變量/寫(xiě)入單個(gè)變量

此方法通過(guò)解析字符串并返回正確的結(jié)果,從 plc 讀取單個(gè)變量。雖然這是最簡(jiǎn)單的入門(mén)方法,但效率非常低,因?yàn)轵?qū)動(dòng)程序?yàn)槊總€(gè)變量發(fā)送 TCP 請(qǐng)求。

public object Read(string variable)

public void Write(string variable, object value)
  • variable: specify the variable to read by using strings like “DB1.DBW20”, “T45”, “C21”, “DB1.DBD400”, etc.

Example: This reads the variable DB1.DBW0. The result must be cast to ushort to get the correct 16-bit format in C#.

ushort result = (ushort)plc.Read("DB1.DBW0");

?

讀取結(jié)構(gòu)/編寫(xiě)結(jié)構(gòu)

This method reads all the bytes from a specified DB needed to fill a struct in C#, and returns the struct that contains the values. It is recommended to use when you want to read many variables in a single data block in some continuous memory range.

The "read struct" and "write struct" methods do not support strings.

public object ReadStruct(Type structType, int db, int startByteAdr = 0)

public void WriteStruct(object structValue, int db, int startByteAdr = 0)
  • structType: Type of the struct to be read, for example: typeOf(MyStruct))
  • db: index of the DB to read
  • startByteAdr: specified the first address of the byte to read (the default is zero).

Then add a struct into your .Net application that is similiar to the DB in the plc:

public struct testStruct
{
    public bool varBool0;
    public bool varBool1;
    public bool varBool2;
    public bool varBool3;
    public bool varBool4;
    public bool varBool5;
    public bool varBool6;
    public byte varByte0;
    public byte varByte1;
    public ushort varWord0;
    public float varReal0;
    public bool varBool7;
    public float varReal1;
    public byte varByte2;
    public UInt32 varDWord;
}

then add the code to read or write the complete struct

// reads a struct from DataBlock 1 at StartAddress 0
testStruct myTestStruct = (testStruct) plc.ReadStruct(typeof(testStruct), 1, 0);

Read a class / Write a class

This method reads all the bytes from a specified DB needed to fill a class in C#. The class is passed as reference and values are assigned by using reflection. It is recommended to use when you want to read many variables in a single data block in some continuous memory range.

The "read class" and "write class" methods do not support strings.

public void ReadClass(object sourceClass, int db, int startByteAdr = 0)

public void WriteClass(object classValue, int db, int startByteAdr = 0)
  • sourceClass: instance of the class that you want to assign the values
  • db: index of the DB to read
  • startByteAdr: specified the first address of the byte to read (the default is zero).?

Then add a struct into your .Net application that is similiar to the DB in the plc:

public class TestClass
{
    public bool varBool0 { get; set;}
    public bool varBool1 { get; set;}
    public bool varBool2 { get; set;}
    public bool varBool3 { get; set;}
    public bool varBool4 { get; set;}
    public bool varBool5 { get; set;}
    public bool varBool6 { get; set;}

    public byte varByte0 { get; set;}
    public byte varByte1 { get; set;}

    public ushort varWord0 { get; set;}

    public float varReal0 { get; set;}
    public bool varBool7 { get; set;}
    public float varReal1 { get; set;}

    public byte varByte2 { get; set;}
    public UInt32 varDWord { get; set;}
}

then add the code to read or write the complete class

// reads a class from DataBlock 1, startAddress 0
TestClass myTestClass = new TestClass();
plc.ReadClass(myTestClass, 1, 0);

Read multiple variables

This method reads multiple variables in a single request. The variables can be located in the same or in different data blocks.

public void Plc.ReadMultibleVars(List<DataItem> dataItems);
  • List<>: you have to specify a list of DataItem which contains all data items you want to read

Example: this method reads several variables from a data block

define the data items first

private static DataItem varBit = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Bit,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 0,
    Value = new object()
};

private static DataItem varByteArray = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Byte,
    DB = 83,
    BitAdr = 0,
    Count = 100,
    StartByteAdr = 0,
    Value = new object()
};

private static DataItem varInt = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Int,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 102,
    Value = new object()
};

private static DataItem varReal = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Real,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 112,
    Value = new object()
};

private static DataItem varString = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.StringEx,
    DB = 83,
    BitAdr = 0,
    Count = 20,         // max lengt of string
    StartByteAdr = 116,
    Value = new object()
};
    
private static DataItem varDateTime = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.DateTime,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 138,
    Value = new object()
}; 

Then define a list where the DataItems will be stored in

private static List<DataItem> dataItemsRead = new List<DataItem>();

add the data items to the list

dataItemsRead.Add(varBit);
dataItemsRead.Add(varByteArray);
dataItemsRead.Add(varInt);
dataItemsRead.Add(varReal);
dataItemsRead.Add(varString);
dataItemsRead.Add(varDateTime);

open the connection to the plc and read the items at once

myPLC.Open();

// read the list of variables
myPLC.ReadMultipleVars(dataItemsRead);

// close the connection
myPLC.Close();

// access the values of the list
Console.WriteLine("Int:" + dataItemsRead[2].Value);

Write multiple variables

This method writes multiple variables in a single request.

public void Plc.Write(Array[DataItem] dataItems);
  • Array[]?you have to specifiy an array of DataItem which contains all the items you want to write

Example: this method writes multiple variables into one data block

define the data items

 private static DataItem varWordWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Word,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 146,
    Value = new object()
};

private static DataItem varIntWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Int,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 148,
    Value = new object()
};

private static DataItem varDWordWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.DWord,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 150,
    Value = new object()
};

private static DataItem varDIntWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.DInt,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 154,
    Value = new object()
};

private static DataItem varRealWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.Real,
    DB = 83,
    BitAdr = 0,
    Count = 1,
    StartByteAdr = 158,
    Value = new object()
};

private static DataItem varStringWrite = new DataItem()
{
    DataType = DataType.DataBlock,
    VarType = VarType.StringEx,
    DB = 83,
    BitAdr = 0,
    Count = 20,
    StartByteAdr = 162,
    Value = new object()
};

Asign the values to the data items. Be aware to use the correct data conversion for the variables to fit into the S7-data types

// asign values to the variable to be written                
varWordWrite.Value = (ushort)67;
varIntWrite.Value = (ushort)33;
varDWordWrite.Value = (uint)444;
varDIntWrite.Value = 6666;
varRealWrite.Value = 77.89;
varStringWrite.Value = "Writting";

Then define a list to store the data items and add the created items to the list

private static List<DataItem> dataItemsWrite = new List<DataItem>();

// add data items to list of data items to write                
dataItemsWrite.Add(varWordWrite);
dataItemsWrite.Add(varIntWrite);
dataItemsWrite.Add(varDWordWrite);
dataItemsWrite.Add(varDIntWrite);
dataItemsWrite.Add(varRealWrite);
dataItemsWrite.Add(varStringWrite);

Finally open a connection to the plc and write the items at once. Use?to convert the list into an array..ToArray()

// open the connection
myPLC.Open();

// write the items
myPLC.Write(dataItemsWrite.ToArray());

// close the connection
myPLC.Close();

開(kāi)源下載鏈接:C#讀取西門(mén)子S7系列PLC教程及源碼Profinet-網(wǎng)絡(luò)基礎(chǔ)文檔類(lèi)資源-CSDN文庫(kù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-478510.html

到了這里,關(guān)于C# 讀取西門(mén)子S7系列PLC教程及源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 西門(mén)子S7-1200F或1500F系列安全PLC的組態(tài)步驟和基礎(chǔ)編程(一)

    西門(mén)子S7-1200F或1500F系列安全PLC的組態(tài)步驟和基礎(chǔ)編程(一)

    第一部分:組態(tài)配置 具體步驟可參考以下內(nèi)容 : 如下圖所示,新建一個(gè)項(xiàng)目后,添加一個(gè)安全型PLC,這里以1516F-3 PN/DP為例進(jìn)行說(shuō)明, 如下圖所示,添加CPU完成后,可以看到左側(cè)的項(xiàng)目樹(shù)中比普通的PLC多了幾個(gè)選項(xiàng)和模塊, 如下圖所示,我們選中該CPU后進(jìn)入屬性畫(huà)面,在“

    2024年02月06日
    瀏覽(73)
  • 西門(mén)子PLC S7-1200如何實(shí)現(xiàn)遠(yuǎn)程上下載?

    西門(mén)子PLC S7-1200如何實(shí)現(xiàn)遠(yuǎn)程上下載?

    西門(mén)子S7-1200是一款高性能的PLC,具有模塊化、結(jié)構(gòu)緊湊、功能全面、編程簡(jiǎn)單的特點(diǎn),總工業(yè)自動(dòng)化領(lǐng)域中應(yīng)用廣泛,如貼片系統(tǒng)、傳送帶系統(tǒng)、污水處理廠、配電站、能源管理系統(tǒng)。 在使用過(guò)程,無(wú)論是為了減少現(xiàn)場(chǎng)調(diào)試的成本時(shí)間,還是為了給客戶(hù)提高更快更強(qiáng)的技術(shù)

    2024年02月12日
    瀏覽(28)
  • 西門(mén)子S7-1200與S7-300PLC的九大不同點(diǎn)

    西門(mén)子S7-1200與S7-300PLC的九大不同點(diǎn)

    S7-1200作為新推出的緊湊型控制器,其產(chǎn)品定位在原有的SIMATIC S7-200和S7-300之間,它與S7-300的區(qū)別主要體現(xiàn)在硬件、通信、工程、存儲(chǔ)器、功能塊、計(jì)數(shù)器、定時(shí)器、工藝功能等方面。 一、硬件的區(qū)別 在硬件擴(kuò)展方面,S7-300的主機(jī)架多支持八個(gè)擴(kuò)展模塊,而S7-1200支持?jǐn)U展多八

    2024年01月25日
    瀏覽(18)
  • 西門(mén)子PLC S7-1200程序?qū)嵗?,西門(mén)子1200與安川機(jī)器人TCP IP通訊

    西門(mén)子PLC S7-1200程序?qū)嵗鏖T(mén)子1200與安川機(jī)器人TCP IP通訊

    西門(mén)子PLC S7-1200程序?qū)嵗?,博圖版本V15 1,西門(mén)子1200與安川機(jī)器人TCP IP通訊,包含機(jī)器人GSD文件; 2,西門(mén)子1200控制6軸伺服電機(jī),四臺(tái)臺(tái)脈沖控制臺(tái)達(dá)B2伺服,兩臺(tái)PN通訊控制西門(mén)子V90伺服電機(jī); 3,兩臺(tái)西門(mén)子1200開(kāi)放式通訊交互數(shù)據(jù)聯(lián)動(dòng); 4,與4臺(tái)位移傳感器modbus485輪詢(xún)讀取

    2024年04月10日
    瀏覽(88)
  • 兩個(gè)西門(mén)子S7-1200PLC之間的TCP以太網(wǎng)通訊

    兩個(gè)西門(mén)子S7-1200PLC之間的TCP以太網(wǎng)通訊

    兩個(gè)西門(mén)子S7-1200PLC之間的TCP以太網(wǎng)通訊 西門(mén)子S7_1200兩個(gè)CPU之間的以太網(wǎng)通訊程序,一個(gè)做主站一個(gè)做從站,可實(shí)現(xiàn)兩個(gè)CPU之間的數(shù)據(jù)發(fā)送和讀取,外加兩個(gè)西門(mén)子KTP1200 12寸的觸摸屏, 兩個(gè)西門(mén)子S7-1200 PLC之間的TCP以太網(wǎng)通訊 隨著工業(yè)自動(dòng)化的發(fā)展,越來(lái)越多的設(shè)備之間需

    2024年02月02日
    瀏覽(20)
  • 【西門(mén)子PLC S7-200smart與匯川變頻器通過(guò)通訊控制】

    【西門(mén)子PLC S7-200smart與匯川變頻器通過(guò)通訊控制】

    一,變頻器通訊設(shè)置部分 先查看匯川變頻器的使用說(shuō)明書(shū),將FD組“通訊參數(shù)設(shè)置”設(shè)置好對(duì)應(yīng)波特率,數(shù)據(jù)格式,本機(jī)地址,通訊協(xié)議 FD-00 波特率設(shè)置 ? 0:300bps 1:600bps 2:1200bps 3:2400bpd 4:4800bps 5:9600bps9:115200bps FD-01 數(shù)據(jù)格式 ? ?1:偶校驗(yàn) ?2:奇校驗(yàn) ?3:無(wú)校驗(yàn) FD-02 本機(jī)地

    2024年02月04日
    瀏覽(40)
  • 西門(mén)子PLC S7-1200程序?qū)嵗?西門(mén)子1200與安川機(jī)器人TCP/IP通訊,包含機(jī)器人GSD文件

    西門(mén)子PLC S7-1200程序?qū)嵗?西門(mén)子1200與安川機(jī)器人TCP/IP通訊,包含機(jī)器人GSD文件

    西門(mén)子PLC S7-1200程序?qū)嵗﹫D版本V15,僅供電氣編程者學(xué)習(xí)借鑒, 1,西門(mén)子1200與安川機(jī)器人TCP/IP通訊,包含機(jī)器人GSD文件; 2,西門(mén)子1200控制6軸伺服電機(jī),四臺(tái)臺(tái)脈沖控制臺(tái)達(dá)B2伺服,兩臺(tái)PN通訊控制西門(mén)子V90伺服電機(jī); 3,兩臺(tái)西門(mén)子1200開(kāi)放式通訊交互數(shù)據(jù)聯(lián)動(dòng); 4,與

    2024年02月11日
    瀏覽(34)
  • 西門(mén)子PLC S7-200SMART Modbus TCP通訊的步驟和要點(diǎn)

    西門(mén)子PLC S7-200SMART Modbus TCP通訊的步驟和要點(diǎn)

    Modbus TCP是一個(gè)非常傳統(tǒng),應(yīng)用廣泛的通訊協(xié)議,很多智能設(shè)備都支持該協(xié)議。西門(mén)子S7-200SMART及1200、1500系列都免費(fèi)支持(300和400還是要高昂收費(fèi)),并且做成了標(biāo)準(zhǔn)庫(kù),使用起來(lái)非常方便,下面簡(jiǎn)單介紹一下客戶(hù)端的配置步驟,服務(wù)器的配置更加簡(jiǎn)單,可以自行摸索: 1、引

    2023年04月09日
    瀏覽(21)
  • 使用IOT-Tree Server連接西門(mén)子PLC S7-300/1200/1500

    使用IOT-Tree Server連接西門(mén)子PLC S7-300/1200/1500

    IOT-Tree Server是個(gè)開(kāi)源物聯(lián)網(wǎng)軟件,可以作為組態(tài)軟件成為自動(dòng)化系統(tǒng)的上位軟件。她提供了接入、數(shù)據(jù)組織管理、控制邏輯和人機(jī)交互多個(gè)方面的功能。從版本0.99開(kāi)始,IOT-Tree Server新增了西門(mén)子以太網(wǎng)驅(qū)動(dòng),能夠通過(guò)以太網(wǎng)的方式直接訪問(wèn)S7-300/1200/1500. S7-200 smart好像也支持

    2024年02月03日
    瀏覽(39)
  • 基于西門(mén)子PLC s7-1200 實(shí)現(xiàn)物料的上料,攪拌,排出的自動(dòng)化過(guò)程。

    基于西門(mén)子PLC s7-1200 實(shí)現(xiàn)物料的上料,攪拌,排出的自動(dòng)化過(guò)程。

    ? 摘要:工業(yè)中有多種物料(本文為三種)需要上料,攪拌,排料的過(guò)程,通過(guò)分析流程,利用PLC實(shí)現(xiàn)過(guò)程的自動(dòng)化。用博圖軟件進(jìn)行編程,最后將自己的成果展示給大家。 一、工藝流程 ? 當(dāng)按下啟動(dòng)按鈕時(shí),物料一從出料口進(jìn)入攪拌罐,接著當(dāng)物料一到達(dá)最低液面,傳感

    2024年02月02日
    瀏覽(30)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包