ฟังก์ชันบล็อก FS_READLINE

ฟังก์ชันบล็อก FS_READLINE อ่านข้อมูลแบบแถวจากไฟล์

ความระมัดระวัง: เมื่ออ่านไฟล์ที่มีขนาดใหญ่มาก PLC หรือระบบทั้งหมดอาจจะติดหรือไม่สามารถเริ่มต้นได้

หมายเหตุ: ขนาดของแถวที่สามารถอ่านได้สูงสุดเป็นประโยชน์ในการรักษาความปลอดภัย 1024'000 ไบต์

ระบบไฟล์ต้องถูกเริ่มต้นด้วย FS_INIT ก่อนหน้านั้น ทุกการดำเนินการจะเกิดขึ้นอย่างไม่ซ้อนทับกันต่อแต่ละอุปกรณ์ที่สร้างขึ้น

อินพุต READ

เมื่อมีขอบฟังก์ชันบวก ข้อมูลจะถูกอ่านจากอุปกรณ์เก็บข้อมูล

อินพุต DEV

กำหนดอุปกรณ์ที่จะใช้ในการเข้าถึงไฟล์ อุปกรณ์นี้ใช้งานต่อโครงการและสามารถจัดการได้ในเมนูคอนเท็กซ์ภายใต้ โครงการ อุปกรณ์เก็บข้อมูลภายนอก

อินพุต PATH

ระบุเส้นทางไปยังไฟล์บนอุปกรณ์เก็บข้อมูล เส้นทางนี้ตรงกับเส้นทางไฟล์ Unix ในรูปแบบ UTF-8 ถ้ามีการสนับสนุน เส้นทางจะถูกแสดงดังนี้:

โฟลเดอร์/ซับโฟลเดอร์/ไฟล์.txt

อินพุต LINE

กำหนดแถวที่ต้องการอ่าน แถวแรกเริ่มต้นด้วยหมายเลข 0

อินพุต ENDING

กำหนดการเปลี่ยนแถวนี้จะระบุโดยการหลบหนี: "\r\n" ถ้าอินพุตไม่ได้รับการกำหนด จะมีการสมมติว่าเป็น "\n"

สำหรับตัวอักษรต่อไปนี้จะพิจารณาการหลบหนี:

  • "\t" (ASCII 9 (0x09)), ตัวอักษรแท็บ
  • "\n" (ASCII 10 (0x0A)), การเลื่อนบรรทัด (Line Feed)
  • "\r" (ASCII 13 (0x0D)), ตัวอักษรการกลับคืนของรถเข็น (Carriage Return)
  • "\0" (ASCII 0 (0x00)), ไบต์ NUL
  • '\xEF' รูปแบบการเขียนสำหรับไบต์

หมายเหตุ: เพื่อให้สามารถกำหนดตัวอักษรที่เป็นไบนารีได้ เช่น '\xEF' ต้องระบุในเครื่องหมายจับคู่เดี่ยว

เอาท์พุต DONE

เอาท์พุตนี้จะส่งสัญญาณเมื่อทำงานเสร็จสิ้นเพื่อดำเนินการต่อไป เอาท์พุตนี้จะเกิดขึ้นเมื่อกระบวนการเสร็จสิ้นแม้ว่าจะมีข้อผิดพลาด

เอาท์พุต DATA

ส่งกลับแถวที่อ่านได้ รวมถึงการสิ้นสุดของแถว สถานะนี้จะถูกบันทึกไว้เพื่อใช้ในภายหลัง

เอาท์พุต EOF

เมื่อถึงปลายไฟล์ อินพุตนี้จะเป็นจริง

เอาท์พุต BOM

ถ้าพบ UTF-8 Byte Order Mark เอาท์พุตนี้จะเป็นจริง BOM จะถูกกำหนดในแต่ละกระบวนการอ่าน

เอาท์พุต ERROR

เมื่อเกิดข้อผิดพลาด ส่งกลับข้อความที่มีข้อความข้อผิดพลาด ข้อความนี้จะเป็น FALSE ถ้ามีข้อผิดพลาดไม่เกิดขึ้น สถานะนี้จะถูกบันทึกไว้เพื่อใช้ในภายหลัง

สาเหตุที่เป็นไปได้:

  • บริการของอุปกรณ์เก็บข้อมูลไม่ได้เริ่มต้น
  • อุปกรณ์เก็บข้อมูลไม่ได้รับการเริ่มต้น
  • ข้อมูลเข้าสู่ระบบไม่ถูกต้อง
  • เซิร์ฟเวอร์ที่อยู่ไกลไม่สามารถเข้าถึงได้
  • อุปกรณ์เก็บข้อมูลไม่มีอยู่
  • เส้นทางที่ระบุไม่ถูกต้อง