danwei
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 89 個
工控威望: 234 點
下載積分: 1526 分
在線時間: 292(小時)
注冊時間: 2013-05-22
最后登錄: 2024-07-20
查看danwei的 主題 / 回貼
樓主  發(fā)表于: 2018-01-10 17:15
    三菱MX通訊控件
ReadDeviceBlock參數(shù)怎么給,為什么讀取的軟元件類型跟地址寫進去總是報錯   單單一個字母入"m"時就不報
axActProgType1.ReadDeviceBlock("m" , b, out arry[0]);
求指導
gzcjx555
QQ  296686949
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 462 個
工控威望: 3824 點
下載積分: 1980 分
在線時間: 315(小時)
注冊時間: 2014-02-15
最后登錄: 2024-09-22
查看gzcjx555的 主題 / 回貼
1樓  發(fā)表于: 2018-01-10 18:27
圖片:
不知道你是否有手冊?有沒有看過手冊
聯(lián)系電話15071699246,QQ296686949
danwei
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 89 個
工控威望: 234 點
下載積分: 1526 分
在線時間: 292(小時)
注冊時間: 2013-05-22
最后登錄: 2024-07-20
查看danwei的 主題 / 回貼
2樓  發(fā)表于: 2018-01-10 21:41
看過手冊了,C# 用這個MX時  szDevice這個參數(shù),糊涂了,   
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 83 個
工控威望: 248 點
下載積分: 617 分
在線時間: 257(小時)
注冊時間: 2008-08-01
最后登錄: 2024-09-22
查看worker02的 主題 / 回貼
3樓  發(fā)表于: 2018-01-18 09:58
Procedure TForm1.Read_Data1;///////順序讀取/////////////////////
Var     R_Msg,Re_Add,ReData_Len,I,Col,Row,D8:Integer;
        Re_Data:Array of LongInt;
        Sen_Add:WideString;
        str,Str1:String;
        Str_Len:Integer;
begin
        Re_Add   :=StrToInt(Edit1.Text);//取出起始地址值
        ReData_Len:=StrToInt(Edit2.Text);//取出數(shù)據(jù)長度
IF(ComboBox1.Text='X')OR(ComboBox1.Text='Y') then //判定是為8進制類型設備X,y最大獲取范圍
        begin
IF (ReData_Len+Re_Add)>128 then
        ReData_Len:=128-Re_Add;
        end;
        FOR I:= 0 To ReData_Len-1 DO
        begin
IF(ComboBox1.Text='X')OR(ComboBox1.Text='Y')Then //判定是為8進制類型設備X,y最大獲取范圍
        D8:=DectoD8(Re_Add+I)
        else
        D8:=Re_Add+I;
         IF I=0 THEN
        Sen_Add:=ComboBox1.Text+IntToStr(D8)
        else
        Sen_Add:=Sen_Add+#10+ComboBox1.Text+IntToStr(D8);
        end;
IF (Re_Add>=0)And(ReData_Len>0)then
        Begin
        SetLength(Re_Data,ReData_Len);
IF RadioButton4.Checked=True Then
        R_Msg:=FX_Com.ReadDeviceRandom(Sen_Add,ReData_Len,Re_Data[0])
        else
        R_Msg:=FX_Usb.ReadDeviceRandom(Sen_Add,ReData_Len,Re_Data[0]);
        end
        ELSE
IF Re_Add<0 then
        ShowMessage('起始地址有誤')
        else
        ShowMessage('長度填寫有誤碼');
IF R_Msg=0 Then
        Stat_Bar.Panels.Items[7].Text:='接收成功'
        else
        Begin
        Stat_Bar.Panels.Items[7].Text:='接收失敗錯誤代碼:'+#13+IntTOstr(R_Msg);
        Exit;
        end;
        FOR I:=0 TO High(Re_Data) DO
        Begin
IF(ComboBox1.Text='X')OR(ComboBox1.Text='Y') then//判定是為8進制類型設備
        begin
        D8:=DectoD8(Re_Add+I);
        Col:= (I+Re_ADD) MOD 8+1;
        Row:= (I+Re_ADD) DIV 8+1;
        end
ELSE

        BEGIN
        Col:= (I+Re_ADD) MOD 10+1;
        Row:= (I+Re_ADD) DIV 10+1;
        end;
        IF Dec.Checked then
        StringGrid1.Cells[Col,Row]:=IntToStr(Re_Data[I])
        else
        IF Hex.Checked then
        StringGrid1.Cells[Col,Row]:=IntToHex(Re_Data[I],2)
         else
        IF Bin.Checked then
        begin
        str:=IntTostr(Re_Data[I]);
        Str_Len:=Length(str);
        str:=IntToBin(Re_Data[I],Str_Len*4);
        Str1:='1';
        Str_Len:=Pos(Str1,str);
        Delete(Str,1,Str_Len-1);
        IF str='0000' then
        str:='0'
        else
        str:=str;
        StringGrid1.Cells[Col,Row]:=str;
        end;

        StringGrid1.Font.Name:='宋體';
        stringGrid1.Font.Size:=13;
        Form1.Add_tpye;
        end;

        end;
我是用DELPHI寫,用的接口是USB,沒有問題,測試過。
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 83 個
工控威望: 248 點
下載積分: 617 分
在線時間: 257(小時)
注冊時間: 2008-08-01
最后登錄: 2024-09-22
查看worker02的 主題 / 回貼
4樓  發(fā)表于: 2018-01-18 10:03
圖片:
這是軟件測試過程
lyntechme
虛心做人,踏實做事
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 564 個
工控威望: 709 點
下載積分: 12711 分
在線時間: 256(小時)
注冊時間: 2012-03-31
最后登錄: 2023-06-04
查看lyntechme的 主題 / 回貼
5樓  發(fā)表于: 2018-06-11 12:53
頂一下,Mark
 
liuleilei
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 62 個
工控威望: 167 點
下載積分: 3326 分
在線時間: 292(小時)
注冊時間: 2017-04-22
最后登錄: 2024-09-22
查看liuleilei的 主題 / 回貼
6樓  發(fā)表于: 2018-06-11 13:26
szDevice直接用PLC地址加雙引號就行了