第一篇:1可編程控制器原理及應用,實驗報告樣本(理工類)
西華大學實驗報告(理工類)
開課學院及實驗室:電氣信息學院電氣信息專業實驗中心
實驗時間:2014 年 04
月 13
日
學
生
姓
名
王中義 學
號
*** 成績
學生所在學院
電氣信息學院
年級/ / 專業/ / 班級測控 1 班 課
程
名
稱
可編程控制器原理及應用 課
程
代
碼
6001449 實驗項目名稱
十字路口交通燈(帶強通控制)單、雙流程控制實驗 項
目
代
碼
實驗代碼 1 指
導
教
師
鄭萍 項
目
學
分
一、實驗目的
1、通過熟悉編程軟件及可編程控制器輸入模擬裝置的面板上各部分的作用,初步掌握可編程控制器從編程到運行的全過程操作。了解和掌握計數器、定時器的使用方法、STL 指令編程方法,并通過十字路口交通燈控制(帶強通控制)的程序設計、編輯與運行,熟練掌握基于 STL 指令的順序控制程序的設計方法,初步掌握模塊化的編程思想,并進一步提高運用多種方法進行程序設計、分析和調試的能力。
2、完成帶強制通行的十字路口交通燈控制程序設計及調試。
二、實驗原理
根據十字路口交通燈控制系統結構流程分析 I/O 信號:
輸入 I 信號:啟動 X5,停止 X6; 輸出 O 信號:南北綠燈 Y0,南北黃燈 Y1,南北紅燈 Y2,東西綠燈 Y4,東西黃燈 Y5,東西紅燈 Y6,畫出 PLC 的 I/O 接線圖,根據 I/O 地址就可以進行編程設計。在設計之前畫出控制波形圖和狀態轉移圖,在此基礎上就可有序地編寫梯形圖。
1)十字路口交通燈波形如圖 1.1 所示:
第組 啟動 X5 南北綠燈 Y0 南北黃燈 Y1 南北紅燈 Y2 東西綠燈 Y4 東西黃燈 Y5 東西紅燈 Y6 10S
5S
3S
2S 圖 1.1
十字路口交通燈波形圖
2)基于 PLC 控制的十字路口交通燈控制模擬接線圖如圖 1.2 所示:
3)
十字路口交通燈控制的單流程狀態轉移圖如圖 1.3 所示:
S0 M8002 C0 C1 Y6 S20Y0 T0 Y6 S21 T1 T2 Y0 C0 Y6 S22 Y1 T3 X5 K5 K5 T0 C0 T2 K3 K20 T3 啟動 K50 東西紅燈 南北綠燈 閃三次后 轉
移
南北紅燈 東西紅燈 南北黃燈 南北綠燈 T2 T1 T1 T1 C0 Y4 S23T4 Y2 T4 K50 東西綠燈 Y2 S24 T5 T6 Y4 C1 K5 K5 C1 T6 K3 南北紅燈 東西綠燈 閃三次后 轉
移 T6 T5 T5 T5 Y5 S25 Y2 T7 K20 T7 東西黃燈 南北紅燈
C1 東西紅燈 清
零 計數器
圖 1.3 單流程狀態轉移圖 RST RST RST RST RST 圖 1.2 基于 PLC 控制的十字路口交通燈控制模擬接線圖 L
N GND
24V
RUN
COM
X5 X6
Y0
Y1
Y2
Y4
Y5
Y6
COM1 PLC(FX2-32MR)
~南北綠燈
南北黃燈
南北紅燈
東西綠燈
東西黃燈
東西紅燈
同學們可先選擇一種進行基于 STL 指令的編程練習,對所編的梯形圖下載到 PLC 中進行運行,同時在編程平臺上監控運行情況,根據運行情況修改程序,最后實現十字路口交通燈控制的全部功能。
三、實驗設備、儀器及材料
提供三菱 FX2N 可編程控制器、模擬板、計算機。詳細內容見實驗指導書。
四、實驗 步驟(按照實際操作過程)
先做驗證性實驗,掌握調試技術,再完成設計性實驗。、驗證性實驗步驟 1)
學習用 SFC 語言編制用戶程序的方法:
a)
單流程的程序編制方法,見圖 1.3; b)
雙流程(并行分支與匯合)的程序編制方法,見圖 1.4; 2)
編寫圖 3 或圖 4 的梯形圖; 3)
將編好的程序下載到可編程控制器; 4)
運行操作:完成對十字路口交通燈控制的程序調試 5)
細心體會和掌握 STL 指令編制順序控制程序的方法和優越性。、設計性實驗步驟 1)設計帶強制通行的十字路口交通燈控制:東西、南北強制通行。
要求如下:
在正常的十字路口交通燈控制運行時,如果東西強制通行開關接通,則進入強制通行狀態。此時東西綠燈常亮,而南北紅燈常亮;東西強制通行結束后,東西強制通行開關關閉,恢復正常運行。此時應從南北綠燈亮、東西紅燈亮開始循環工作。
南北強制通行情況與東西強制通行相似,其運行狀態相反。
2)硬件設計:在圖 1.2 上添加強制通行開關,并標出其輸入地址; 3)軟件設計:仔細思考,盡可能以優化的方式進行編程設計; 4)編程操作:將所設計的梯形圖程序下載到可編程控制器; 5)運行調試:完成對十字路口交通燈控制程序的調試。
五、實驗過程記錄((數據、圖表、計算等))
依照十字路口交通燈的波形圖設計順序功能圖,并將該功能圖用 GX Developer 的 SEC 輸入,并調試該程序,仿真圖如下圖所示:
六、實驗 結果分析 及 問題討論
通過仿真結果分析,能夠滿足設計的要求。運用 GX Developer 軟件的 SFC 的狀態 轉移圖的方法進行編程,再將編好的程序下載到 PLC 中,進行運行。通過觀察 PLC 上面 的指示燈可以觀測到實驗是滿足要求的。也可以運用仿真軟件進行仿真,仿真的結果如 上圖所示,通過軟元件也可以對軟件的正確性進行驗證。值得注意的是在往 PLC 里面下 載程序時一定要將 PLC 的開關撥到 stop 的狀態,同時在下載的過程中 PLC 的電源一定不 能掉電。下載完成后一定要將 PLC 的開關撥到 RUN 的狀態之后 PLC 才能進行使用。這些 細節在實際中一定要注意到,以免引起不必要的重復。
第二篇:《可編程控制器原理及應用》讀書報告2014書寫格式LPX
《可編程控制器原理及應用讀書報告》2014書寫格式
目的:掌握可編程控制器的原理,基礎指令、程序設計,和基于PLC的控制系統設計方法,為后續學習打下基礎。
一、版面格式:
1、讀書報告名稱應正確,如:
2、應體現自己的相關信息,必須正確。包括:系別、專業、班級、姓名、學號、任課教師、學年學期。
3、學習態度良好、字跡、版面應清潔,手寫8000字左右,圖、表全由手工完成。統一用“南陽理工學院稿紙”
二、可編程控制器技術概述:
1、可編程控制器的基本概念、發展
2、可編程控制器的特點和應用
3、常用可編程控制器種類
三、可編程控制器技術掌握情況:
1、PLC的基本組成,包括:主機、擴展、特殊功能元件、繼電器區、數據區。
2、PLC的指令系統,包括:常用基本指令、應用指令、傳送指令、數據指令、定時器、計數器等。
3、PLC的控制系統設計,包括:用實例解釋至少4種設計方法。
四、可編程控制器技術的應用實例:結合自己掌握可編程控制器技術情況和興趣自選一實例。包括有以下內容:
1、控制對象及要求
2、工程分析
3、PLC選型
4、I/O分配
5、電氣原理圖
6、程序設計需要體現設計方法
7、聯機調試
五、讀書總結:
總結:包括:學習過程、認識、開拓思考、以及對本課程的改進意見,專業創新等。
參考文獻:至少5篇
第三篇:《單片機原理及應用》實驗報告
實驗一:單片機開發裝置使用方法
(小2號,加粗)
一、實驗目的(3號,加粗)內容(楷體,4號,不加粗)
字符和數字用Times new Roman
二、實驗內容
三、實驗步驟
四、實驗結果
五、實驗分析
六、實驗總結
第四篇:數據庫原理及應用實驗報告 6
實驗成績
《數據庫系統原理及應用》
實 驗 報 告 六
專業班級:
計算機科學與技術
學
號:
201116910233
姓
名:
范曉曈
指導教師:
蘇小玲
2013年
月
日 實驗六名稱:
SQL Server存儲過程
一、實驗內容及要求
1.使用輸入參數存儲過程的創建和執行
任務1:查詢學生的學號、姓名、選修的課程號、課程名、課程學分,將學生所在系作為輸入參數,默認值為“軟件工程系”。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。
2.修改視圖
任務1:查詢指定系的男生人數,其中系為輸入參數,人數為輸出參數。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。
任務2:查詢指定學生(姓名)在指定學期的選課門數和考試平均成績,要求姓名和學期為輸入參數,選課門數和平均成績用輸出參數返回,平均成績保留到小數點后兩位。
3.使用返回代碼存儲過程的創建和執行
任務1:查詢指定學生(學號)的選課門數。如果指定學生不存在,則返回代碼1;如果指定的學生沒有選課,則返回代碼2;如果指定學生有選課,則返回代碼0,并用輸出參數返回該學生的選課門數。
4.使用實現對數據庫修改、刪除和插入操作的存儲過程創建和執行
任務1:刪除指定學生(學號)的修課,如果指定的學生不存在,則顯示提示信息“沒有指定學生”;如果指定的學生沒有選課,則顯示提示信息“該學生沒有選課”。學號為輸入參數。
任務2:修改指定課程的開課學期。輸入參數為:課程號和修改后的開課學期。
任務3:在course表中插入一行數據,課程號、課程名、學分、開課學期均為輸入參數。課程號為C100、課程名為操作系統、學分為
4、開課學期為4,開課學期的默認值為3。如果學分大于10或者小于1,則不插入數據,并顯示提示信息“學分為1~10之間的整數”。
二、實驗目的
掌握存儲過程的創建和執行;掌握存儲過程中輸入參數和輸出參數的設置和使用方法。
三、實驗步驟及運行結果
1.使用輸入參數存儲過程的創建和執行
任務1:查詢學生的學號、姓名、選修的課程號、課程名、課程學分,將學生所在系作為輸入參數,默認值為“軟件工程系”。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。
create procedure p_studentdept @dept char(20)='計科' as select s.sno,s.sname,c.cno,cname,s.credit from student s inner join sc on s.sno=sc.sno inner join Course c
on c.cno=sc.cno where sdept=@dept
2.修改視圖
任務1:查詢指定系的男生人數,其中系為輸入參數,人數為輸出參數。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。
create procedure p_numberofBoy @dept char(20),@boynumber int output as select @boynumber=COUNT(*)from Student
where Ssex='男' and sdept=@dept
declare @boynumber int exec p_numberofBoy '計科' ,@boynumber output print @boynumber
declare @boynumber int exec p_numberofBoy '電信' ,@boynumber output print @boynumber
任務2:查詢指定學生(姓名)在指定學期的選課門數和考試平均成績,要求姓名和學期為輸入參數,選課門數和平均成績用輸出參數返回,平均成績保留到小數點后兩位。
create proc p_studentInfo @name char(20),@semester int,@count_xk int output,@avg_sscore float output as select @count_xk=count(c.cno),@avg_sscore=Avg(sscore)from Student s join SC
on s.Sno =SC.Sno join Course c
on SC.Cno =c.Cno where s.Sname=@name and c.Semester =@semester
declare @count_xk int,@avg_grade float,@avg_sscore decimal exec p_studentInfo '范曉曈',2,@count_xk output,@avg_sscore output select @count_xk as 選課門數,@avg_sscore as平均成績
3.使用返回代碼存儲過程的創建和執行
任務1:查詢指定學生(學號)的選課門數。如果指定學生不存在,則返回代碼1;如果指定的學生沒有選課,則返回代碼2;如果指定學生有選課,則返回代碼0,并用輸出參數返回該學生的選課門數。
create proc p_countxk @number decimal,@xk_number decimal output as if not exists(select Sno from Student where Sno=@number)return 1 else if not exists(select Sno from SC where Sno=@number)return 2 else begin select @xk_number=COUNT(sc.cno)from SC where Sno =@number return 0 End
declare @xk_number1 int exec p_countxk 201116910233,@xk_number1 output print @xk_number1
4.使用實現對數據庫修改、刪除和插入操作的存儲過程創建和執行
任務1:刪除指定學生(學號)的修課,如果指定的學生不存在,則顯示提示信息“沒有指定學生”;如果指定的學生沒有選課,則顯示提示信息“該學生沒有選課”。學號為輸入參數。
create proc p_delete @id numeric as if not exists(select * from Student where Sno=@id)return 1 if not exists(select * from SC where SC.Sno=@id)return 2 else return 0
declare @id numeric,@ret int exec @ret=p_delete 201116910232 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910232
declare @id numeric,@ret int exec @ret=p_delete 201116910222 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910222
declare @id numeric,@ret int exec @ret=p_delete 201116910211 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910211
任務2:修改指定課程的開課學期。輸入參數為:課程號和修改后的開課學期。
create proc p_alter @kc char(20),@xq int as update course set semester=@xq where cno=@kc declare @kc char(20),@xq int exec p_alter 'C003',3
修改前:
修改后:
任務3:在course表中插入一行數據,課程號、課程名、學分、開課學期均為輸入參數。課程號為C100、課程名為操作系統、學分為
4、開課學期為4,開課學期的默認值為3。如果學分大于10或者小于1,則不插入數據,并顯示提示信息“學分為1~10之間的整數”。
create proc p_insert @kc_id varchar(20),@kc_name varchar(20),@xf decimal , @xq int as if(@xf >= 1 and @xf <=10)begin insert course(cno,cname,credit,semester)values(@kc_id,@kc_name,@xf,@xq)
end else print
'學分要在1~10之間!!'
declare @kc_id varchar(20),@kc_name varchar(20),@xf decimal,@xq int exec p_insert 'C006','操作系統',3.0,6
declare @kc_id char(20),@kc_name char(20),@xf decimal,@xq int exec p_insert 'C007','毛概',11.0,4
四、實驗心得
在這次實驗中,我明白了,存儲過程只在創造時進行編譯即可,以后每次執行存儲過程都不需再重新編譯,而我們通常使用的SQL語句每執行一次就編譯一次,所以使用存儲過程可提高數據庫執行速度,存儲過程一般用來完成數據查詢和數據處理操作。
無論什么時候執行存儲過程,總要返回一個結果碼,用以指示存儲過程的執行狀態。如果存儲過程執行成功,返回的結果碼是0;如果存儲過程執行失敗,返回的結果碼一般是一個負數,它和失敗的類型有關。我們在創建存儲過程時,也可以定義自己的狀態碼和錯誤信息。
通過這次實驗,讓我深刻了解了數據庫的功能,覺得它功能非常的強大,掌握存儲過程的創建與執行,熟悉存儲過程與批處理的區別。掌握帶參數的存儲過程的創建與執行。
第五篇:上海應用技術學院實驗報告(數據庫原理及應用)參考
上海應用技術學院
《數據庫原理及應用》課程實驗報告
計算機科學與信息工程系·2007年編制
計算機科學與信息工程系·2007年編制
注:空間不夠,可以增加頁碼。計算機科學與信息工程系·2007年編制