me編程軟體
㈠ GE的plc編程軟體proficy machine edition 可以和 ifix 如何安裝在同一電腦內,直接安裝後ifix運行出錯
是不是版本或授權的事 我做過一次項目 用ME 5.5和IFIX4.5沒有問題
㈡ C++Builder與Matlab混合編程的實現
在C++Builder中調用Matlab工具箱函數,有兩種實現方式。一種是基於Matlab環境支持,通過必要的設置實現;筆者在本刊上曾撰文對這種方式進行了專門的闡述。另一種則是完全脫離Matlab環境,通過動態連接庫方式實現對Matlab工具箱函數的調用,這可以通過一種開發平台Mediva來實現。相對來說,前者的限制因素較多,而後者則較為方便靈活。
一、Mediva軟體平台
Mediva是Mathtools公司推出的一種Matlab編譯開發軟體平台,提供對Matlab程序文件(M文件)的解釋執行和開發環境支持。該軟體有為Borland C++、Visual Basic和Dephi等編程語言開發的不同版本,目前其版本已經到了4.5版。軟體大小僅6.5M,可以通過訪問其站點www.mathtools.com免費下載試用一個月。 Mediva軟體平台本身的功能相當強大,提供近千個Matlab的基本功能函數,通過必要的設置,就可以直接實現與C++的混合編程,而不必再依賴Matlab;同時,Mediva還提供編譯轉換功能,能夠將Matlab函數或編寫的Matlab程序轉換為C++形式的DLL,從而實現脫離Matlab環境對Matlab函數和過程的有效調用,這樣就有可能實現對Matlab強大的工具箱函數的利用。
Mediva的缺點是C++與Matlab混合編寫的應用軟體必須攜帶必要的DLL,從而增大了軟體的體積(約4M),同時也不能對所有的Matlab函數提供支持,例如採用類庫進行設計的部分函數。但盡管如此,對於控制系統計算機設計、分析的工作來說,Mediva仍不失為一個好的工具。
由於利用Mediva將Matlab工具箱函數轉換成DLL的內容較多,限於篇幅本文在此僅給出對Matlab函數直接調用的實現,而將另撰文闡述DLL的實現。
二、C++Builder直接調用Matlab函數
本文假設已經安裝了Mediva軟體或已經得到必要的兩個動態連接庫mdv4300.dll和ago4300.dll。
Mediva提供的近千個Matlab基本功能函數,都可以在C++Builder中直接調用。這些函數包括基物畝本的操作、命令、I/O、線性代數、點陣圖、控制等,基本上可以滿足我們的一般需要。當然其的優點就是可以直接在C++Buider中直接調用而不必耐螞手考慮安裝龐大的Matlab。
其實現方式和步驟如下:
1.Lib文件的生成
在Dos下用C++Builder中的Implib.exe,通過如下命令生成mdv4300.lib: implib mdv4300.lib mdv4300.dll
將上述兩個DLL文件和此Lib文件拷貝到當前目錄下。
2.實現與Matlab的混合編程
Matlab.h包含了Mediva中昌嫌所有類型、常量、函數的說明和定義,必須將此頭文件放於程序的第一行。Mediva給出的Matlab函數形式並不特殊,如繪線函數Plot,在Mediva中說明為:Mm DLLI plot(cMm varargin);varargin與Matlab 中的意義是一樣的,與輸入變數的個數相對應。所有可以直接使用的函數都在Matlib.h頭文件中定義,而在mdv4300.dll中實現。
但在C++Builder中使用Mediva提供的Matlab函數的格式,與Matlab編程稍有不同,這主要體現在C++中必須進行必要的說明上。例如我們要用繪線函數Plot來繪制數組x[100]的紅色圖線。在Matlab中調用為Plot(x,'r');在C++中調用則為:Plot(CL(x),TM("r")),其中CL是一個關鍵字,是多變數輸入時所必須使用的,用以指明調用的變數;而TM則指明,這是一個字元。
下面我們給出一個示常式序,其功能是對一個1024點的輸入數組進行FFT 變換,並繪制變換後頻譜實部的火柴桿圖,最後將原數據和變換後的數據寫入數據文件中。
#include "matlib.h"
//必須包含的頭文件
#include vcl.h >
#pragma hdrstop
#include "TryMatcomU.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(Tcomponent* Owner)
: Tform(Owner)
{
}
void __fastcall TForm1::Button1Click(Tobject *Sender)
{
int k=0;
initM(MATCOM_VERSION); //必須進行的初始化
Mm cur1,cur2; //定義變數
cur1=zeros(128); cur2=zeros(128); //變數初始化
for(k=1;k< =128;k++)
cur1.r(k)=randM(); //生成一個隨機數列
figure(1);
plot(cur1);//圖形顯示該數列
cur2=fft(cur1,128); //做128點fft變換
figure(2); //繪制fft變換後實部的火柴桿圖,注意此處多變數輸入的格式
stem((CL(cur1),real(cur2),TM("r")));
fid=fopen(filename,mode,format) opens
exitM(); //退出調用
}
如果完全使用C++來實現本程序的工作,其代碼將超過300行!由此可以看出,C++Builder與Matlab函數的混合編程可以給我們帶來多麼大的方便!
㈢ 關於AB PLC的編程通訊問題,用哪些軟體
AB PLC的編程通訊軟體是「RSLINX」。
數據採集和與第三方通訊可用OPC,硬體分配Rsnet Worx,觸摸屏軟體FactoryTalk_View_SE/ME等,ABplc講究的是軟體與硬體一定要配套,否則不兼容,就是高版本不兼容低版本
需要對應的PLC型號的軟體系列,分為RSLOGIX500和RSLOGIX5000的,還需要軟體和PLC的通訊組件RSLINX(相當於編程軟體和PLC通訊的橋梁)。