eternal1520
級(jí)別: *
![]() |
《現(xiàn)代電器控制及PLC應(yīng)用第二版》第7章的問(wèn)題 1 計(jì)數(shù)范圍是0-255 2 計(jì)數(shù)脈沖是SM0.5 3 當(dāng)外部輸入I0.0的狀態(tài)改變時(shí)觸發(fā)中斷1/0, 中斷1將M0.0置位,中斷0將M0.0復(fù)位 4 當(dāng)M0.0=1時(shí),計(jì)數(shù)器加計(jì)數(shù),當(dāng)M0.0=0時(shí)計(jì)數(shù)器減計(jì)數(shù) 5 計(jì)數(shù)器數(shù)值通過(guò)QB0七段碼顯示。 我的分析如下: SM0.5為0.5S通/0.5S斷的脈沖。 方向控制為I0.0,不要求復(fù)位信號(hào), 增減計(jì)數(shù), 所以我選擇 1號(hào)計(jì)數(shù)器,工作模式為6 當(dāng)M0.0=1時(shí) 將FB寫入 SMB47 255送入SMB48 當(dāng)M0.0=0時(shí) 將F0送入SMB47 255 送入SMB48 我的問(wèn)題: 1 這個(gè)程序中 當(dāng)沒(méi)有外部輸入時(shí)怎么定義高速計(jì)數(shù)器? 2 I0.0我認(rèn)為是外部方向控制 通過(guò)I0.0來(lái)調(diào)用中斷對(duì)M0.0的狀態(tài)進(jìn)行控制 ,是不是可以認(rèn)為I0.0就是外部方向控制? 3 當(dāng)沒(méi)有外部中斷時(shí),計(jì)數(shù)器如何計(jì)數(shù)? 主程序: 網(wǎng)絡(luò)1 LD SM0.1 初始化脈沖 CALL SBR_0:SBR0 調(diào)用子程序 HDEF 1, 6 高速計(jì)數(shù)器選擇1號(hào) 工作模式6 HSC 1 啟動(dòng)高速計(jì)數(shù)器 網(wǎng)絡(luò)2 LD SM0.5 計(jì)數(shù)脈沖 HSC 1 網(wǎng)絡(luò)3 LD SM0.0 MOVD HC1, VD100 讀高數(shù)計(jì)數(shù)器的值送入VD100 DTI VD100, VW400 將整數(shù)轉(zhuǎn)換為雙子 ITB VW400, VB200 字轉(zhuǎn)換為字節(jié) SEG VB200, QB0 VB200的值送入QB0 七段碼 SRB VB200, 4 SEG VB200, QB0 子程序: 網(wǎng)絡(luò)1 LD I0.0 I0.0上升沿時(shí)調(diào)用中斷程序0 中斷事件號(hào)為0 ATCH INT_0:INT0, 0 ENI 網(wǎng)絡(luò)2 LD I0.1 I0.0上升沿時(shí)調(diào)用中斷程序1 中斷事件號(hào)為1 ED ATCH INT_1:INT1, 1 ENI 0號(hào)中斷程序: LD SM0.0 S M0.0, 1 置位M0.0 MOVB 16#F8, SMB47 將FB送入高速計(jì)數(shù)器SMB47控制位 加計(jì)數(shù) MOVD 0, SMD48 清零高速計(jì)數(shù)器初始值 HDEF 1, 6 定義高速計(jì)數(shù)器 HSC 1 啟動(dòng) 1號(hào)中斷程序: LD SM0.0 R M0.0, 1 復(fù)位M0.0 MOVB 16#F0, SMB47 F0送入高速計(jì)數(shù)器SMB47控制位 減計(jì)數(shù) MOVD 0, SMD48 清零高速計(jì)數(shù)器 HDEF 1, 6 定義 HSC 1 啟動(dòng) |
---|---|
|