1. 程式人生 > 其它 >工業物聯網驅動簡介

工業物聯網驅動簡介

關於驅動

驅動是對傳統的資料採集程式的標準化,驅動可以作為你的資產進行管理

  • 系統為每個裝置建立一個驅動例項

  • 通過反射建立驅動例項

  • 驅動不可以靜態

  • 驅動要繼承IDriver介面

  • 驅動內需要通過web配置的屬性(支援列舉等基本型別),上要加上Attribute

    [ConfigParameter("埠號")]
    public int Port { get; set; } = 666;
    
  • 系統通過反射為屬性賦值

  • 若裝置設定為啟動,則進行連線讀取的工作

  • 可以在驅動內,使用任何C#語法,記得在關閉和釋放後釋放你建立的資源,尤其是後臺執行緒

驅動生命週期

  1. 構造
    [DriverInfoAttribute("YourDriver", "V1.0.0", "Copyright iotgateway© 2022-06-04")]
     public class YourDriverClass : IDriver{
    
     }
    
  2. 連線
    public bool Connect(){
         
     }
    
  3. 讀取
    
    [Method("方法中文名", description: "方法描述")]
    public DriverReturnValueModel Read(DriverAddressIoArgModel ioarg){
         
     }
    
     public class DriverAddressIoArgModel
     {
         public string Address { get; set; }
         public DataTypeEnum ValueType { get; set; }
     }
    
     public class DriverReturnValueModel
     {
         public object Value { get; set; }
         [JsonConverter(typeof(StringEnumConverter))]
         public VaribaleStatusTypeEnum StatusType { get; set; } = VaribaleStatusTypeEnum.UnKnow;
     }
    

:::info 說明

你可以有多個讀取資料的方法,只要加上MethodAttribute即可識別

DriverAddressIoArgModel.Address是通過前端傳入的地址,你可以發揮想象(如使用逗號分隔符)傳入更多的內容

DriverAddressIoArgModel.ValueType是通過前端傳入的資料型別,你可以選擇是否使用它

DriverReturnValueModel.Valueobject型別,你可以傳出任何型別,或者與DriverAddressIoArgModel.ValueType呼應起來
:::

  1. 斷開
    public bool Close(){
         
     }
    
  2. 釋放
    public void Dispose(){
         
     }