วันพฤหัสบดีที่ 20 กรกฎาคม พ.ศ. 2560

คำสั่ง ZCP , ZCPP , DZCP , DZCPP (Zone Compare)


ZCP คือคำสั่งเปรียบเทียบข้อมูลสามจุดระหว่างอุปกรณ์แบบเวิร์ดหรือระหว่างอุปกรณ์แบบเวิร์ดกับค่าคงที่ รูปแบบของคำสั่งคือ
Picture1265
S1และS2คือ ข้อมูลของอุปกรณ์แบบเวิร์ดที่ต้องการเปรียบเทียบ,Sคือแหล่งข้อมูลหลักที่ใช้ ในการเปรียบเทียบกับS1และS2 ,Dคืออุปกรณ์แบบบิตเช่น M,Y,SและD*.b ส่วนบรรทัดถัดมาDคือหน้าสัมผัสของอุปกรณ์แบบบิตD ,D+1 คือหน้าสัมผัสของอุปกรณ์แบบบิตตัวที่1ของบิตD และD+2 คือหน้าสัมผัสของอุปกรณ์แบบบิตตัวที่2ของบิตD
รูปแบบการทำงาน
การ ทำงานของคำสั่งZCP,DZCPเป็นแบบต่อเนื่อง ส่วนคำสั่งZCPP,DZCPPเป็นแบบพัลล์ คำสั่งZCP,ZCPPใช้กับข้อมูลแบบ16บิต คำสั่งDZCP,DZCPPใช้กับข้อมูลแบบ32บิต
ตาราง 3.19 แสดงอุปกรณ์ที่สามารถใช้ได้
Picture1266
  1. ใช้ได้เฉพาะPLC FX3UและFX3UC
  2. ใช้ได้เฉพาะPLC FX3G,FX3GC,FX3UและFX3UC
  3. ใช้ได้เฉพาะPLC FX3UและFX3UC
ตัวอย่างการใช้คำสั่งZCP กรณี S2 > S1
จากวงจร3.74 เป็นการเปรียบเทียบค่าคงที่K10และK20กับเคาน์เตอร์C1 โดยต้องการให้บิตปลายทางคือM1,M2และM3 ทำงานจะเขียนคำสั่งได้ดังนี้
Picture1267
เมื่อ บิตX0ทำงาน คำสั่งZCPจะเปรียบเทียบค่าคงที่K10และK20กับค่าของC1โดยเงื่อนไข การONของM1,M2และM3คือ 1.ถ้าค่าคงที่10(K10)มากกว่าC1 จะทำให้M1ทำงาน(M2และM3ไม่ทำงาน) และหน้าสัมผัสของM1จะต่อให้Y0ทำงาน 2. ถ้าC1มากกว่าหรือเท่ากับ10 และน้อยกว่าหรือเท่ากับ20 หน้าสัมผัสM2จะONและทำให้Y1ทำงาน 3. ถ้าC1มากกว่า20 หน้าสัมผัสM3จะONและต่อให้Y2ทำงาน
ตัวอย่างการใช้คำสั่งZCP กรณี S1> S2
ถ้า กำหนดให้S1มากกว่าS2 เช่นให้S1เท่ากับ30และS2เท่ากับ20 คำสั่งZCPจะติดเงื่อนไข30≤C1≤20 เนื่องจากการที่ค่าของC1มากกว่าหรือเท่ากับ30และน้อยกว่าหรือเท่ากับ20เป็น เงื่อนไขที่ขัดแย้งกัน ดังนั้นถ้าS1มากกว่าS2 ในการประมวลผลคำสั่งจะปรับให้ค่าของS2เท่ากับS1 โดยอัตโนมัติ ดังนั้นแม้เราจะตั้งค่าS2เท่ากับ20 แต่การประมวลผลจะมองว่าS2เท่ากับ30
Picture1268
จากวงจร3.75 M2จะONเมื่อC1เท่ากับ30

ไม่มีความคิดเห็น:

แสดงความคิดเห็น