三菱PLC解密VB源代碼(三菱plc解碼指令)
廣州龍躍自動化專業(yè)破解解密各類plc加密,全國24小時聯(lián)系手機(jī):18520649527 【關(guān)技術(shù)】 微信:guanshiyou009如有任何問題請打手機(jī)或者添加微信,謝謝支持
能給我發(fā)個VB與三菱PLC通訊的源代碼實例嗎,非常感謝啊
得說明是什么型號的PLC啊,串口還是網(wǎng)口,VB6還是VB.NET?
算了,寫段代碼,VB.NET與Q系列以太網(wǎng)通訊的:
Imports?System.Net
Imports?System.Runtime.InteropServices
Public?Class?Form1
????Dim?Handle1?As?Int32
????Dim?EntLink1?As?Boolean
????Dim?ScanCount1?As?Long
????Dim?PLC?As?New?EntQsPlc_Asc.PlcClient'EntQsPlc_ASC.DLL是Q系列以太網(wǎng)通訊組件
????Public?Declare?Function?timeGetTime?Lib?"winmm.dll"?()?As?UInt32
????Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
????????Me.CenterToScreen()
????????cmbReadMry.Items.Clear()
????????cmbReadMry.Items.Add("X")
????????cmbReadMry.Items.Add("Y")
????????cmbReadMry.Items.Add("M")
????????cmbReadMry.Items.Add("D")
????????cmbReadMry.Items.Add("R")
????????cmbReadMry.Items.Add("Z")
????????'
????????cmbWriteMry.Items.Clear()
????????cmbWriteMry.Items.Add("X")
????????cmbWriteMry.Items.Add("Y")
????????cmbWriteMry.Items.Add("M")
????????cmbWriteMry.Items.Add("D")
????????cmbWriteMry.Items.Add("R")
????????cmbWriteMry.Items.Add("Z")
????????'
????????cmbBitMry.Items.Clear()
????????cmbBitMry.Items.Add("X")
????????cmbBitMry.Items.Add("Y")
????????cmbBitMry.Items.Add("M")
????????'
????????cmbReadType.Items.Clear()
????????cmbReadType.Items.Add("INT16")
????????cmbReadType.Items.Add("UINT16")
????????cmbReadType.Items.Add("DINT32")
????????cmbReadType.Items.Add("HEX32")
????????cmbReadType.Items.Add("REAL32")
????????cmbReadType.Items.Add("BIN16")
????????'
????????cmbWriteType.Items.Clear()
????????cmbWriteType.Items.Add("INT16")
????????cmbWriteType.Items.Add("UINT16")
????????cmbWriteType.Items.Add("DINT32")
????????cmbWriteType.Items.Add("HEX32")
????????cmbWriteType.Items.Add("REAL32")
????????cmbWriteType.Items.Add("BIN16")
????????cmbReadMry.SelectedIndex?=?3
????????cmbWriteMry.SelectedIndex?=?3
????????cmbBitMry.SelectedIndex?=?2
????????cmbReadType.SelectedIndex?=?0
????????cmbWriteType.SelectedIndex?=?0
????????lstRead.Items.Clear()
????????txtWrite.Text?=?""
????????'
????????cmbCmdType.SelectedIndex?=?0
????End?Sub
????Private?Sub?butLink_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butLink.Click
????????Dim?re?As?Short
????????Dim?restr?As?String?=?""
????????re?=?PLC.EntLink(Trim(txtLocalIP.Text),?Val(txtLocalPort.Text),?Trim(txtRemoteIP.Text),?Val(txtRemotePort.Text),?"DEMO",?Handle1,?1000,?CBool(cmbCmdType.SelectedIndex))
????????txtReLink.Text?=?re.ToString
????????If?re?=?0?Then
????????????EntLink1?=?True
????????????MsgBox("PLC聯(lián)接成功!?")
????????Else
????????????EntLink1?=?False
????????????MsgBox("PLC聯(lián)接失敗:?"??restr)
????????End?If
????End?Sub???????????
????Private?Sub?butClose_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butClose.Click
????????Dim?re?As?Short
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????re?=?PLC.DeLink(Handle1)
????????txtReClose.Text?=?re.ToString
????End?Sub
????Private?Sub?butRead_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butRead.Click
????????Dim?re?As?Short
????????Dim?i?As?Short
????????Dim?RD()?As?Object
????????ReDim?RD(Val(txtReadCnt.Text?-?1))
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????'?Exit?Sub
????????End?If
????????Dim?mry?As?EntQsPlc_Asc.PlcClient.PlcMemory?=?cmbReadMry.SelectedIndex?+?1
????????Dim?typ?As?EntQsPlc_Asc.PlcClient.DataType?=?cmbReadType.SelectedIndex?+?1
????????re?=?PLC.CmdRead(Handle1,?mry,?typ,?CInt(txtReadAdd.Text),?CUShort(txtReadCnt.Text),?RD)
????????txtReRead.Text?=?re.ToString
????????lstRead.Items.Clear()
????????For?i?=?0?To?UBound(RD)?Step?1
????????????If?Not?IsNothing(RD(i))?Then?lstRead.Items.Add(RD(i))
????????Next?i
????????If?re??0?Then
????????????Timer1.Enabled?=?False
????????????butScan.Text?=?"Cycle?R/W"
????????End?If
????End?Sub
????Private?Sub?butWrite_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butWrite.Click
????????Dim?re?As?Short
????????Dim?i?As?Short
????????Dim?temp()?As?String
????????Dim?WD()?As?Object
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????ReDim?WD(Val(txtWriteCnt.Text)?-?1)
????????temp?=?Split(txtWrite.Text,?vbCrLf)
????????For?i?=?0?To?UBound(WD)?Step?1
????????????If?i??UBound(temp)?Then
????????????????WD(i)?=?0
????????????Else
????????????????WD(i)?=?Trim(temp(i))
????????????End?If
????????Next?i
????????Dim?mry?As?EntQsPlc_Asc.PlcClient.PlcMemory?=?cmbWriteMry.SelectedIndex?+?1
????????Dim?typ?As?EntQsPlc_Asc.PlcClient.DataType?=?cmbWriteType.SelectedIndex?+?1
????????re?=?PLC.CmdWrite(Handle1,?mry,?typ,?CInt(txtWriteAdd.Text),?CUShort(txtWriteCnt.Text),?WD)
????????txtReWrite.Text?=?re.ToString
????????If?re??0?Then
????????????Timer1.Enabled?=?False
????????????butScan.Text?=?"Cycle?R/W"
????????End?If
????End?Sub
????
????
????Private?Sub?butScan_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butScan.Click
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????Timer1.Enabled?=?Not?Timer1.Enabled
????????If?Timer1.Enabled?Then
????????????ScanCount1?=?0
????????????butScan.Text?=?"Stop?R/W"
????????Else
????????????butScan.Text?=?"Cycle?R/W"
????????End?If
????End?Sub
????Private?Sub?Timer1_Tick(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Timer1.Tick
????????Timer1.Enabled?=?False
????????Dim?tim?As?Integer?=?timeGetTime
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????'
????????Call?butRead_Click(Nothing,?Nothing)
????????Call?butWrite_Click(Nothing,?Nothing)
????????'
????????If?(Val(txtReRead.Text)??0)?Or?(Val(txtReWrite.Text)??0)?Then
????????????butScan.Text?=?"Cycle?R/W"
????????????Exit?Sub
????????Else
????????????ScanCount1?+=?1
????????????txtScanCnt.Text?=?ScanCount1
????????????txtScanPrd.Text?=?(timeGetTime?-?tim)??"ms"
????????End?If
????????Timer1.Enabled?=?True
????End?Sub
????Private?Sub?butBitTest_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitTest.Click
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????Dim?rd?As?Boolean
????????Dim?re?As?Short
????????Dim?mry?As?EntQsPlc_Asc.PlcClient.PlcMemory?=?cmbBitMry.SelectedIndex?+?1
????????re?=?PLC.Bit_Test(Handle1,?mry,?CUShort(txtBitAdd.Text),?rd)
????????txtBitTest.Text?=?rd
????????txtReBit.Text?=?re
????End?Sub
????Private?Sub?butBitSet_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitSet.Click
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????Dim?re?As?Short
????????re?=?PLC.Bit_Set(Handle1,?cmbBitMry.SelectedIndex?+?1,?Val(txtBitAdd.Text))
????????txtReBit.Text?=?re
????End?Sub
????Private?Sub?butBitRst_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?butBitRst.Click
????????If?Not?EntLink1?Then
????????????MsgBox("還未與PLC建立聯(lián)接!")
????????????Exit?Sub
????????End?If
????????Dim?re?As?Short
????????re?=?PLC.Bit_Reset(Handle1,?cmbBitMry.SelectedIndex?+?1,?Val(txtBitAdd.Text))
????????txtReBit.Text?=?re
????End?Sub
End?Class
三菱PLC如何加密,解密
三菱的FX1S,FX1N,FX2N的是很好解密,如確實要對程序保密,最好選擇FX3U,FX3G或者Q系列PLC。
加密的方法是在GX軟件下:“在線”菜單——“登錄關(guān)鍵字”——“創(chuàng)建,更改關(guān)鍵字”。
各位高手可以給出個三菱PLC程序密碼解除軟件.謝謝
三菱FX,A系列PLC解密方法
1,使用串口調(diào)試器,設(shè)置好有關(guān)參數(shù)。
2,確定三菱PLC型號,根據(jù)PLC型號選擇在串口調(diào)試器中輸入對應(yīng)字符串。
附:
PLC型號 對應(yīng)字符串
FX2 \STX0700808\ETX6A
FX2N \STX0300808\ETX66
FX2_EPROM \STX0800808\ETX6B
FXON/FXOX \STX0800808\ETX6B
FX1N/FX1X \STX0800808\ETX6B
3、發(fā)送后在接收框中將顯示一串字符串,如果你聰明的話一定會發(fā)現(xiàn)這些字符串的奧妙了。
(就是返回的密碼)
如果看不出來的話,將這些字符串拷貝到 HEX格式 中,發(fā)送一次看看。(發(fā)送前記得先斷開PLC)
建議你自己設(shè)置一個密碼,然后用這個方法讀取一次看看,以后就知道是怎么回事了。
密碼字符:0-9,A-F。
4,舉例說明破解A和FX系列PLC密碼:
A系列:
發(fā)送:A2 07 00 FF 02 05 AE 00 08 C3
接收:0B 00 FF 02 00 AA 77 55 BB EF CD AB A4 00
密碼:ABCDEF
發(fā)送:A2 07 00 FF 02 05 AE 00 08 C3
接收:0B 00 FF 02 00 AA 77 55 BB C1 B1 A1 A4
密碼:A1B1C1
分析:密碼為返回字符中BB至A4之間的字符,以每2字符為單位,從右往左讀出。
FX系列:
設(shè)置串口:COM1,波特率:9600,數(shù)據(jù)位:7,校驗:E偶,停止位:1
輸入:EHX,顯示:ASC
群里找我63506472
發(fā)送:
02 30 38 30 30 38 30 38 03 36 42
返回一串16進(jìn)制的ASCII碼,30為數(shù)字0,31為數(shù)字1,01為A,02為B,以此類推;
例:02 30 38 30 30 38 30 38 03 36 42
\STX4236353433323130\ETX41
密碼是:B6543210 《42=B》
三菱Q系列PLC程序解密方法?
如果用戶忘記了PLC的密碼,將無法解碼。因為所有的參數(shù)都已經(jīng)被加密了。這時,用戶應(yīng)當(dāng)初始化PLC的程序和密碼。
根據(jù)PLC型號不同,初始化PLC的方法也不一樣。用戶可以通過除去PLC CPU模塊中的電池的方法來清除密碼和程序。
在Q系列PLC的密碼是一個小難以找到的串行接口單元,現(xiàn)在跟蹤的USB數(shù)據(jù)包。密碼被讀回至電腦,就可以找到它。
會發(fā)生什么是數(shù)字是由前9封裝。尋找一個fffffff的后整批再看看之前,就會找到答案。90 9193 9504 0700 06幾段幾段幾段幾段幾段幾段幾段幾段。
現(xiàn)在看到答案是密碼0135。通過上面使用的任何數(shù)據(jù)USB數(shù)據(jù)渠道。三菱公司的PLC系列ACPU的舊與COM- LITE32開裂為十六進(jìn)制數(shù)字的密碼與QCPU系列PLC的AA,0到9可以被指定為小型或大型的字母表。
擴(kuò)展資料:
三菱PLC狀態(tài)編程方法:
1、對狀態(tài)進(jìn)行編程處理,必須使用步進(jìn)接點指令STL,它表示這些處理(包括驅(qū)動、轉(zhuǎn)移)均在該狀態(tài)接點形成的子母線上進(jìn)行。
2、與STL步進(jìn)接點相連的觸點應(yīng)使用LD或LDI指令,下一條STL指令的出現(xiàn)意味著當(dāng)前STL程序區(qū)的結(jié)束和新的STL程序區(qū)的開始。RET指令意味著整個STL程序區(qū)的結(jié)束,LD點返回左側(cè)母線。
每個STL步進(jìn)接點驅(qū)動的電路一般放在一起,最后一個STL電路結(jié)束時(即步進(jìn)程序的最后),一定要使用RET指令,否則將出現(xiàn)“程序語法錯誤”信息,PLC不能執(zhí)行用戶程序。
3、狀態(tài)編程順序為:先進(jìn)行驅(qū)動處理,再進(jìn)行轉(zhuǎn)移處理,不能顛倒。驅(qū)動處理就是該狀態(tài)的輸出處理,轉(zhuǎn)移處理就是根據(jù)轉(zhuǎn)移方向和轉(zhuǎn)移條件實現(xiàn)下一個狀態(tài)的轉(zhuǎn)移。
參考資料來源:百度百科——三菱QPLC
三菱PLC程序密碼如何解除
三菱的程序加密可以在寫入程序的時候加密,也可以在在線菜單欄里面選擇登陸關(guān)鍵字進(jìn)行密碼設(shè)置,忘記密碼或者解密只有用三菱對應(yīng)的解密軟件沒有什么其他的辦法!
購買專用的三菱編程電纜,USB口或者串口的,淘寶上有,然后下載三菱PLC編程軟件這個官方網(wǎng)站提供下載的,新手不建議自己制作簡易電纜線容易燒通訊口。
擴(kuò)展資料:
PLC的類型:
1、小型PLC
一體式結(jié)構(gòu)、I/O點數(shù):256點 (384點)、
多用于單機(jī)控制:
如:FX1S、FX1N、FX2N、FX3U、FX3G整體化PLC,注:F1、F2、 FX1、FX2 、FX0N、FX0S均已停產(chǎn)。
中型系列PLC
模塊化結(jié)構(gòu)、 I/O點數(shù):
用于較大規(guī)??刂?/p>
特點:L系列PLC體積小,功能強(qiáng)大; 如L02CPU,L26CPU等。
3、大型系列PLC
模塊式結(jié)構(gòu)、 I/O點數(shù):4096點、運算速度快、網(wǎng)絡(luò)功能強(qiáng)
滿足大型控制系統(tǒng)要求
如: QnA系列PLC :Q3ACPU、Q4ACPU;Q系列PLC :Q00J 、Q00 Q001Q02HQ06HQ12HQ25HQ03UDQ04UD(E)HQ06UD (E) HQ13UD (E) HQ26UD (E) H
參考資料來源:百度百科 ——三菱PLC
[img]廣州龍躍自動化專業(yè)破解解密各類plc加密,全國24小時聯(lián)系手機(jī):18520649527 【關(guān)技術(shù)】 微信:guanshiyou009如有任何問題請打手機(jī)或者添加微信,謝謝支持