การสร้าง FC ที่มี parameter In และ Out ก็เสมือนการเขียนโปรแกรมจำพวก Text programmer เช่น ภาษา C เป็นต้น ที่มีการเรียกใช้ function แบบที่ส่งผ่าน parameter นั่นเอง
สมมติว่าเรามี function ที่ชื่อว่า My_Calculation(Temp_Data1, Temp_Data2, Temp_Data3) และมีคำสั่งเป็น
My_Calculation(Temp_Data1, Temp_Data2, Temp_Data3)
Temp_Data3 = Temp_Data1 + Temp_Data2
End Function
ดังนั้น ที่โปรแกรมหลักของเราก็จะทำการเรียก My_Calculation(Data1, Data2,Data3) ซึ่งผลที่ได้ก็คือ Data1, Data2 จะนำไปบวกกันและใส่ค่าใน Data3 นั่นเอง ซึ่งข้อดีของการทำ Function แบบนี้ก็คือเราสามารถเรียนคำสั่ง Function ซ้ำๆกันได้ โดยใส่ parameter ที่ต่างๆกันได้พร้อมๆกัน เช่น
Call My_Calculation(Data1, Data2,Data3)
Call My_Calculation(Data6, Data7,Data8)
Call My_Calculation(Data20, Data21,Data22)
สังเกตว่า 3 คำสั่งนี้ใช้ function เดียวกันแต่มี parameter ที่ส่งผ่านให้ function ต่างกัน ก็จะสามารถทำงานในแต่ละบรรทัดได้ถูกต้อง คือ
• Data3 = Data1+Data2
• Data8=Data6+Data7
• และ Data22=Data20+Data21 เป็นต้น
การสร้าง FC (Function) เป็นการสร้างโปรแกรมย่อยเพื่อกระจายโปรแกรมให้แยกย่อยในแต่ละหน้าที่ โดยจะทำให้ทำให้โปรแกรมดูเป็นระเบียบเรียบร้อย ซึ่งจะส่งผลให้การตรวจสอบและวิเคราะห์กระทำได้ง่ายยิ่งขึ้น
โครงสร้างโปรแกรมเมื่อมีการใช้ FC สังเกตว่าตัวโปรแกรมหลัก OB1 นั้นจะทำการเรียกใช้งาน FC เมื่อทำงาน FC เสร็จแล้วก็จะย้อนกลับไปทำ OB1 ใน step ถัดไป
1. ทำการสร้าง FC ขึ้นมาใหม่
2. จากนั้น FC1 ที่สร้างไว้จะถูกเปิดให้โดยอัตโนมัติ อย่างไรก็ตามก่อนที่เราจะทำการเขียนโปรแกรมใน FC เราควรกำหนดตัว block interface เสียก่อนโดยมี variable ที่เกี่ยวข้องดังนี้
3. ระบุตัวแปร Local ที่ได้สร้างเอาไว้ให้กับโปรแกรที่เราสร้างเอาไว้ใน Network ของ FC
โดยทำการเลือกตัวแปรที่เราได้สร้างเอาไว้ สังเกตว่าจะมีเครื่องหมาย # นำหน้าตัวแปรที่เราได้สร้างไว้อัตโนมัติ ซึ่งเป็นตัวบอกว่าตัวแปรที่เราใช้งานเป็นตัวแปรแบบ Local Variable นั่นเอง
แม้ว่าตัวแปรที่สร้างไว้จะไม่ได้มีเครื่องหมาย # แต่โปรแกรมจะทำการใส่ให้อัตโนมัติเพราะเป็นตัวแปรแบบ Local
กรณีที่เราไม่ได้ระบุตัวแปรในตารางตัวแปรเอาไว้ล่วงหน้าดังในขั้นตอนที่ 2 เราก็สามารถระบุตัวแปรใหม่ขึ้นมาได้เลย แล้วเลือก Define tag ให้เป็นตัวแปรแบบ Local ในรูปแบบต่างๆ (Local In, Local Out, Local InOut, Local Temp) จากนั้นจะเห็นว่าจะมีเครื่องหมาย # นำหน้าตัวแปรที่เราเพิ่งระบุไปโดยอัตโนมัติเช่นกัน
ตัวอย่างการระบุตัวแปรแบบ Local แบบไม่ได้ตั้งค่าตัวแปรล่วงหน้า
4. FC ที่สมบูรณ์ มีการระบุตัวแปรต่างๆไว้ครบแล้ว
ตัวอย่าง FC ที่มีการระบุตัวแปรต่างๆครบแล้ว
5. เปิด OB1 แล้วลาก FC ที่ได้สร้างขึ้นมาวางในที่ Network ของ OB1
6. ทำการระบุตัวแปรทั้งขาเข้าและขาออกที่จะใส่ให้กับ FC จนครบ (ตัวอย่างนี้ยังไม่ได้ตั้ง tag ให้กับ %I และ %Q เอาไว้ เราสามารถเปลี่ยน tag ภายหลังได้)
7. ตัวอย่างโปรแกรมแบบสมบูรณ์เมื่อมีเปลี่ยนชื่อ tag ต่างๆทั้งฝั่งขาเข้าและขาออกที่เหมาะสมให้กับ FC ที่เรียกมาจนครบแล้ว
![]() |
![]() |
![]() |
PLC, HML, TIA, Siemens, Technical Information, IOT
INDUSTRIAL ELECTRICAL CO., LTD.
© 2014 Copyright by ie.co.th . All Rights Reserved. |
GOOGLE MAP |
SITE MAP |
|