自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

當前位置:機電之家首頁 >> PLC技術>> plc資料下載 >> PLC程序下載 >> S7-200 自由口通訊程序
S7-200 自由口通訊程序

說明,這個例子的PLC程序也是從別處借來,本人只是適當作了修理,另再寫了VB的代碼部分。個為認為PLC程序寫得不錯,因為程序太長,請各位心看了。
//^^^^^^^^^^^^^^^^^^^^^^//
PLC程序部分
TITLE=程序注釋
//PLC在第一次掃描時執(zhí)行初始化子程序,對端口及RCV指令進行初始化。初始化完成后,運行RCV指令使端口處于接受狀態(tài)。
//RCV會將以"g"開頭"G"結尾的指令保存到接收緩沖區(qū),并同時產生接收完成中斷。
//RCVcomplete中斷服務程序用來處理接收完成中斷事件,它會將接收緩沖區(qū)中的十六進制ASCII碼還原成數(shù)據(jù)并保存,同時置位Verify子程序的觸發(fā)條件(M0.1)。
// Verify子程序首先復位本身的觸發(fā)條件以防止子程序被重復調用,然后求出接收緩沖區(qū)中指令的BCC校驗碼并與指令中的BCC校驗碼進行比對。如果相等則置BCC碼校驗正確的標志位(M0.0)為1;如果指令格式正確(指令的結束標志在接收緩沖區(qū)中特定的位置VB133)而BCC碼不相等,則發(fā)送代表BCC校驗碼錯誤的反饋信息;如果指令格式不正確(VB133中不是指令的結束標志),則返回代表指令格式錯誤的反饋信息。
// Read子程序的觸發(fā)條件為:指令中的站地址與本機站地址相符、指令類型為讀指令、BCC檢驗碼正確。當條件滿足時,Read子程序被執(zhí)行。Read子程序首先禁止RCV,然后將指令所要讀取的數(shù)據(jù)轉換成十六進制ASCII碼并寫入發(fā)送緩沖區(qū)、計算BCC檢驗碼、最后發(fā)送反饋信息。
// Write子程序的觸發(fā)條件為:指令中的站地址與本機站地址相符、指令類型為寫指令、BCC檢驗碼正確。當條件滿足時,Write子程序被執(zhí)行。Write子程序首先禁止RCV,然后將指令中的數(shù)據(jù)寫入目標寄存器,最后發(fā)送代表寫入正確的反饋信息。
//PLC每接到一條指令后都會發(fā)送一條反饋信息,當反饋信息發(fā)送完成時,會產生發(fā)送完成中斷,XMTcomplete中斷服務程序用來處理發(fā)送完成中斷事件。在XMTcomplete中斷服務程序中所要執(zhí)行的操作包括:復位BCC校驗碼正確的標志位(M0.0);允許RCV;bcc碼寄存器清零;重新裝入用于計算BCC校驗碼的地址指針;接收緩沖區(qū)中存放指令結束字符的字節(jié)VB133清零(用來判斷下一條指令格式是否正確)。

Network 1

LD SM0.1 //第一次掃描調用初始化子程序

CALL SBR0

Network 2

LDB= VB134, VB199 //指令中的站地址與本機站地址相符

AB= VB102, 5 //指令類型為讀指令

A M0.0 //BCC碼校驗正確

CALL SBR1 //調用讀子程序

Network 3

LDB= VB134, VB199 //指令中的站地址與本機站地址相符

AB= VB102, 6 //指令類型為寫指令

A M0.0 //BCC碼校驗正確

CALL SBR2 //調用寫子程序

Network 4

LD M0.1 //指令接收完成后調用BCC碼校驗子程序

CALL SBR3

Network 5

LD SM4.5 //當端口空閑時啟動RCV

RCV VB100, 0

Network 6

LD SM0.0

MOVW AIW0, VW300

/I +50, VW300

MOVW AIW2, VW302

/I +50, VW302

MOVW AIW4, VW304

/I +50, VW304

MOVW AIW6, VW306

/I +50, VW306

Network 7

LD SM0.0

= Q0.0

Network 8

LD I0.0

= Q0.1

TITLE=子程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0

MOVB 9, SMB30 //0口"9600,N,8,1"

Network 2

LD SM0.0 //RCV指令初始化

MOVB 16#EC, SMB87

MOVB 103, SMB88

MOVB 71, SMB89

MOVB 100, SMB92

MOVB 35, SMB94

R SM87.2, 1

Network 3

LD SM0.0

ATCH INT0, 23 //連接口0接收完成的中斷

Network 4

LD SM0.0

ATCH INT1, 9 //連接口0發(fā)送完成的中斷

Network 5

LD SM0.0

ENI //中斷允許

Network 6

LD SM0.0

MOVB 2, VB199 //將本機站地址裝入寄存器

Network 7

LD SM0.0

MOVD &VB102, VD149 //裝入地址指針

MOVB 0, VB179 //BCC碼寄存器清零

MOVD &VB156, VD181 //裝入地址指針

MOVB 0, VB180 //BCC碼寄存器清零

TITLE=子程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0 //停止端口0的接收

R SM87.7, 1

R M0.0, 1

RCV VB100, 0

Network 2

LD SM0.0 //將數(shù)據(jù)寫入發(fā)送緩沖區(qū)

MOVB 103, VB154

MOVB 1, VB155

HTA *VD135, VB156, 16

MOVB 26, VB174

MOVB 21, VB153

Network 3

LD SM0.0 //計算BCC校驗碼

FOR VW177, +1, +16

Network 4

LD SM0.0

XORB *VD181, VB180

Network 5

LD SM0.0

INCD VD181

Network 6

NEXT

Network 7

LD SM0.0

HTA VB180, VB172, 2 //BCC校驗碼寫入發(fā)送緩沖區(qū)

Network 8

LD SM4.5 //發(fā)送反饋信息

XMT VB153, 0

TITLE=子程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0 //停止端口0的接收

R SM87.7, 1

R M0.0, 1

RCV VB100, 0

Network 2

LD SM0.0 //裝入要寫如數(shù)據(jù)源的地址指針

MOVD &VB115, VD145

Network 3

LD SM0.0 //寫入數(shù)據(jù)

ATH *VD145, *VD135, VB139

Network 4

LD SM0.0 //指令執(zhí)行的反饋信息寫入發(fā)送緩沖區(qū)

MOVB 21, VB153

MOVB 103, VB154

MOVB 2, VB155

MOVB 26, VB174

Network 5

LD SM4.5 //發(fā)送指令執(zhí)行的反饋信息

XMT VB153, 0

TITLE=子程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0

R M0.1, 1 //復位verify子程序的執(zhí)行條件

Network 2

LD SM0.0 //計算BCC碼

FOR VW175, +1, +29

Network 3

LD SM0.0

XORB *VD149, VB179

Network 4

LD SM0.0

INCD VD149

Network 5

NEXT

Network 6

LDB= VB179, VB140 //當BCC碼校驗正確時,M0.0置1

AB= VB133, 71

S M0.0, 1

Network 7

LDB= VB133, 71 //BCC碼錯誤時發(fā)送反饋信息

AB<> VB179, VB140

MOVB 21, VB153

MOVB 103, VB154

MOVB 3, VB155

MOVB 26, VB174

R SM87.7, 1

RCV VB100, 0

XMT VB153, 0

Network 8

LDB<> VB133, 71 //指令格式錯誤或RCV超時時發(fā)送反饋信息

MOVB 21, VB153

MOVB 103, VB154

MOVB 4, VB155

MOVB 26, VB174

R SM87.7, 1

RCV VB100, 0

XMT VB153, 0

TITLE=中斷程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0

ATH VB103, VB134, 2 //指令譯碼(ASCII碼到十六進制)

ATH VB105, VB135, 8

ATH VB113, VB139, 2

ATH VB131, VB140, 2

S M0.1, 1 //置位Verify子程序的觸發(fā)條件

MOVB 0, VB179 //BCC碼寄存器清零

MOVD &VB102, VD149 //裝入地址指針

TITLE=中斷程序注釋

Network 1 // 網(wǎng)絡標題

// 網(wǎng)絡注釋

LD SM0.0

R M0.0, 1 //復位BCC校驗碼正確的標志位

S SM87.7, 1 //允許口0進行接收

MOVB 0, VB179 //BCC校驗碼寄存器清零

MOVB 0, VB180 //BCC校驗碼寄存器清零

MOVD &VB102, VD149 //重新裝入地址指針

MOVD &VB156, VD181

MOVB 0, VB133 //接收緩沖區(qū)中存放指令結束字符的字節(jié)清零

點右鍵下載:S7-200 自由口通訊程序.rar

作者:未知 點擊:2987次 [打印] [關閉] [返回頂部]
本文標簽:S7-200 自由口通訊程序
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《S7-200 自由口通訊程序》相關權利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業(yè)有限公司
個人求購

宋磊 【求購】  氮化硅套管  2026-4-3
黃經理 【求購】  LS母線槽  2026-4-3
陳先生 【求購】  施耐德塑殼...  2026-4-2
譚經理 【求購】  工業(yè)溫度計  2026-4-2
焦經理 【求購】  液壓馬達  2026-4-2
周先生 【求購】  36號白油  2026-4-2
王經理 【求購】  萊克斯洛面...  2026-4-2
柯經理 【求購】  西奧電梯  2026-4-2
VIP公司推薦