มี PLC ที่มีขายทั่วไปในเชิงพาณิชย์ที่สามารถรวบรวม / ดาวน์โหลดโปรแกรมผ่าน API ได้หรือไม่?


9

ทีมของฉันตัดสินใจใช้ PLC เพื่อควบคุมกระบวนการทางอุตสาหกรรมที่ต้องใช้ IO แบบเรียลไทม์กับอุปกรณ์ภายนอกด้วยการประมวลผลที่น้อยที่สุด อย่างไรก็ตามเราคาดว่าผลลัพธ์ที่แน่นอนที่จำเป็นในการเปลี่ยนแปลงระหว่างการรัน (อันที่จริงแล้วการรันที่กำหนดจะไม่ค่อยเกิดขึ้นซ้ำ) และผู้ประกอบการจะไม่มีประสบการณ์การเขียนโปรแกรม PLC / ซอฟต์แวร์ใด ๆ

ในขณะที่ฉันไม่สามารถเปิดเผยผลิตภัณฑ์จริงได้การเปรียบเทียบที่ดีที่สุดคือเรากำลังออกแบบเครื่องทำสมูทตี้อุตสาหกรรมโดยมีการควบคุม PLC อย่างแม่นยำในการเปิดและปิดวาล์วต่างๆในแบบเรียลไทม์ ผู้ประกอบการจะใช้ซอฟต์แวร์ของเราในการออกแบบลำดับการเติมสารรีเอเจนต์ที่แตกต่างกันและการเปิด / ปิดของเครื่องจักรกลหนักที่เกี่ยวข้อง (เช่นเครื่องผสมอุตสาหกรรม)

นี่คือความท้าทาย: วิธีการในปัจจุบันของเราคือการเขียนคอมไพเลอร์ของเราเองซึ่งแปลคำสั่งที่ผู้ประกอบการมอบให้ (open valve A เป็นเวลา 10 ms, open valve B เป็นเวลา 20 ms) ลงใน ladder logic และรหัสเครื่อง PLC จากนั้นเราจะดาวน์โหลดโปรแกรมที่คอมไพล์ด้วยตนเองโดยตรงไปยัง PLC ผ่านทางอนุกรม ทั้งหมดนี้จะต้องเป็นแบบอัตโนมัติเพื่อให้ผู้ควบคุมเครื่องเพียงคลิกปุ่มหลังจากที่ทำตามขั้นตอนตามลำดับ

อย่างไรก็ตามแม้จะมีงานวิจัยของฉันฉันไม่พบผู้ขาย PLC รายเดียวที่ทั้ง 1) มีคอมไพเลอร์กับ API หรือเผยแพร่ข้อมูลที่เพียงพอเกี่ยวกับรหัสเครื่อง PLC เพื่อให้ผู้เขียนคอมไพเลอร์ 2) สนับสนุนการดาวน์โหลดโดยตรงของโปรแกรมไปยัง PLC โดยไม่ต้องใช้ซอฟต์แวร์โปรแกรมของผู้จัดจำหน่าย (CX-โปรแกรมเมอร์, สตูดิโอ Atmel ฯลฯ )

ฉันเชื่อว่าเราอาจใช้วิธีที่ผิดหรืออย่างน้อยก็ไม่รู้ว่าจะหาผลิตภัณฑ์อะไร i / o นั้นง่ายพอที่จะไม่ปรับการสร้างบอร์ดของเราเอง แต่ฟังก์ชั่นที่เรากำลังมองหาคือการโต้ตอบกับ PLC กับซอฟต์แวร์พีซีระดับสูงดูเหมือนจะไม่สามารถใช้ได้

เป็นการดีที่เราต้องการดาวน์โหลดโปรแกรมทั้งหมดไปยัง PLC ในครั้งเดียวและจะไม่ส่งคำแนะนำทีละรายการ การดำเนินการตามคำแนะนำทั้งหมดบน PLC (หรืออุปกรณ์ใด ๆ ก็ตามที่เราใช้) ต้องเป็นแบบเรียลไทม์

มี PLC ที่ใช้ในเชิงพาณิชย์ที่รองรับการรวบรวมและดาวน์โหลดรหัสเครื่องหรือไม่เช่นนั้นกระบวนการทั้งหมดอาจเป็นไปโดยอัตโนมัติโดยโปรแกรมที่มีขนาดใหญ่กว่านี้หรือไม่? มีวิธีอื่นใดบ้างในการดาวน์โหลดโปรแกรมเรียลไทม์ไปยัง PLC ที่เขียนด้วยซอฟต์แวร์พีซีที่เขียนด้วยภาษาระดับสูงหรือไม่?


สิ่งที่เกี่ยวกับการใช้ระบบปฏิบัติการและให้ผู้ใช้แก้ไขรหัสโปรแกรมของคุณผ่าน GUI ที่กำหนดเองและไม่ได้รวบรวมตัวอย่างเช่นกับ GCC แล้วดาวน์โหลดโปรแกรมที่คอมไพล์เป็น "PLC" ของคุณ
Eggi

คุณสามารถแนะนำวัสดุหรือแบบฝึกหัดที่แนะนำการเขียนโปรแกรมและหลักการ RTOS ได้หรือไม่? ฉันคุ้นเคยกับการพัฒนาที่ไม่ได้ฝังใน RT และตรรกะของแลดเดอร์แบบดั้งเดิมดังนั้นในขณะที่ฉันสนใจโซลูชันนี้มากฉันไม่แน่ใจว่าจะเริ่มจากตรงไหน
Dragonsheep

@ API คืออะไร หากเป็น "ส่วนต่อประสานโปรแกรมแอปพลิเคชัน" คุณจะรวบรวม / ดาวน์โหลดผ่านมันได้อย่างไร
Dmitry Grigoryev

1
@Dragonsheep ดีกว่าละเว้นความคิดนี้ มีหลายแง่มุมมากเกินไปซึ่งไม่ใช่ข้อพิสูจน์อุตสาหกรรมเหมือนที่ Henry Cun กล่าว วันที่ 1: คุณเปลี่ยนรหัสก่อนรวบรวมได้อย่างไร วางไว้ที่ไหนสักแห่งในข้อความที่ชัดเจน? 2nd: สนับสนุนมานานหลายทศวรรษด้วยระบบปฏิบัติการ
Eggi

คำตอบ:


11

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

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

IO แบบเรียลไทม์ไปยังอุปกรณ์ภายนอกที่มีการประมวลผลน้อยที่สุด

สิ่งที่คุณเลือกที่จะใช้งานไม่ได้คิดค้น PLC มันอาจจะไม่คุ้มค่ากับเวลา และอย่าคิดว่าซอฟต์แวร์หรือโมดูลเพิ่มเติมมีราคาแพงคุณไม่สามารถเขียนได้ในราคานั้น


5

ฉันจะสมมติว่านี่เป็นงานที่ค่อนข้างง่ายสำหรับ plc ที่น้อยที่สุดแทนที่จะเป็นอะไรที่ใช้ PLC อุตสาหกรรมขั้นสูง

ฉันจะสมมติว่านี่เป็นประโยชน์ทางอุตสาหกรรมซึ่งก็คือการพูดว่าสูตรควรจะสามารถเปลี่ยนแปลงได้ในเวลา 10 ปีโดยลูกค้า นอกจากนี้ยังมีประโยชน์ที่จะอยู่รอดคุณออกจากธุรกิจหรือย้ายไปยังผลิตภัณฑ์ใหม่

ระบบจำนวนมากจะต้องใช้ซอฟต์แวร์พิเศษบางอย่างในการดาวน์โหลดและ / หรือรวบรวมตามที่คุณพูด ในระยะยาวลูกค้าของคุณจะพบว่า Windows 11,12,13 จะไม่รันซอฟต์แวร์อีกต่อไป เพื่อหลีกเลี่ยงปัญหานี้คุณต้องการให้โปรแกรมเป็น ascii ธรรมดาส่งผ่านพอร์ตอนุกรมบางชนิด นี่เป็นเวลาประมาณ 50 ปีแล้วและไม่แสดงอาการที่หายไป

Forth สามารถ "รวบรวม" เป้าหมายได้ดังนั้นลูกค้าจะต้องส่ง ASCII ไปยังเทอร์มินัลเท่านั้น มันจะไม่ล้าสมัย

ส่วนหนึ่งของจรรยาบรรณ Forth คือคุณเขียนคำนำเฉพาะโดเมน ("AddBanana", "Blend", "Pour") ที่ลูกค้าของคุณใช้เป็นภาษาเฉพาะสำหรับผลิตภัณฑ์ ในขณะที่ Forth ถูกพิจารณาว่าเป็นคนใช้คอมพิวเตอร์ แต่เป็นแนวคิดที่ง่ายต่อการใช้งานสำหรับผู้ใช้ - นี่เป็นโปรแกรมที่ถูกต้อง

10 grams Thickener 500 grams Banana 15 seconds Hi Blend 50 grams Blueberry 5 seconds slow Blend Pour 5 seconds wait CleanCycle

ตัวอย่างคุณสามารถใช้PLC ที่ใช้ Arduinoขนาดเล็กและโหลดFlashForth มีตัวเลือกอื่น ๆ มากมายเช่น MPEForth และ PLC ที่ใช้ ARM -cortex

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

ความล้มเหลวในความคิดทั้งหมดของคุณคือลูกค้ากำลังเขียนโปรแกรมผลิตภัณฑ์และแน่นอนว่ามันเกิดขึ้นได้ด้วยการทำสิ่งที่ผิด - ไม่ว่าคุณจะใช้อะไรก็ตาม

เพราะมันเป็นเพียงไฟล์ ASCII มันค่อนข้างง่ายสำหรับคุณที่จะสร้างเปลือกแฟนซีสำหรับลูกค้า แต่ผลิตภัณฑ์ยังคงทำงานได้โดยปราศจากมัน


ขอบคุณสำหรับการตอบกลับ! บางอย่างเช่น Controllino ที่คุณแนะนำคือสิ่งที่เรากำลังมองหา! PLC ขนาดเล็กที่เราสามารถควบคุมซอฟต์แวร์ได้โดยตรงและสามารถดาวน์โหลดโปรแกรมผ่านทางอนุกรม เมื่อคุณพูดว่าเรามี "ตัวเลือกอื่น ๆ " คำค้นหาที่เกี่ยวข้องจะเป็นอย่างไร / คุณแนะนำผลิตภัณฑ์อะไรอีก ทีมของฉันคุ้นเคยกับอุตสาหกรรมหนักมากที่สุดดังนั้นเราจึงหมดความคิดหลังจากผ่านแคตตาล็อกซีเมนส์ / มิตซูบิชิ / ออมรอนตามปกติและไม่พบสิ่งที่เรากำลังมองหา
Dragonsheep

@Dragonsheep: เราขอแนะนำให้คุณรอสักหนึ่งหรือสองวันก่อนจะตอบรับ สิ่งนี้กระตุ้นให้ผู้อื่นเขียนและคุณจะได้รับคำตอบเพิ่มเติมและมุมมองที่แตกต่างกัน
ทรานซิสเตอร์

หากนี่เป็นวิธีการที่น่าสนใจสำหรับคุณและคุณคือคนที่จ่ายเงินสำหรับเครื่องมือความเชี่ยวชาญและการสนับสนุนคุณอาจต้องการคุยกับ Stephen Pelc ที่ MPEForth เขาทำสิ่งนี้ในเชิงพาณิชย์ ในทางกลับกันหากคุณเป็นคนซอฟต์แวร์เบียร์ฟรีให้มองหาโมดูลที่ใช้ arduino หรือ plc's และ FlashForth
Henry Crun

1
ฉันจะเห็นด้วยกับคำตอบของ @Transistor และ Jeroen: หากสิ่งที่คุณต้องการคือ PLC อุตสาหกรรมสิ่งเหล่านี้คือสิ่งที่คุณต้องการ (และโมดูล Arduino plc แบบสุ่มนั้นไม่แข็งแรงพอที่จะเป็นตัวควบคุมจากโรงงานและเป็นตัวควบคุมในกล่องที่อ่อนโยนมากขึ้น) ฉันมักจะไม่เห็นด้วยกับ "รับบางสิ่งบางอย่างกับระบบปฏิบัติการและใช้ GCC" เป็นโซลูชั่นที่อาจนำไปสู่โลกที่เลวร้ายที่สุด
Henry Crun

นี่เป็นแอปพลิเคชันอุตสาหกรรมที่เราหวังว่าจะขายให้กับลูกค้า เราหวังว่าจะมีความน่าเชื่อถือมากกว่า 20 ปีที่ผู้จำหน่ายอุตสาหกรรมรายใหญ่ (มิตซูบิชิและอื่น ๆ ) ได้สาธิตผลิตภัณฑ์ของพวกเขาดังนั้นจึงมีความกังวลเกี่ยวกับการเป็นหนึ่งในผู้จำหน่ายฮาร์ดแวร์โอเพ่นซอร์สรุ่นใหม่ ในขณะเดียวกันซอฟต์แวร์ฉลาดโอเพนซอร์ซก็ดูเหมือนจะให้การควบคุมที่เรากำลังมองหา ดูเหมือนว่าสตีเฟนจะเป็นคนดีที่เอื้อมมือออกไป ขอบคุณสำหรับความเป็นผู้นำ
Dragonsheep

2

อย่ายุ่งกับ Arduino ฯลฯ สำหรับงานอุตสาหกรรม PLC ได้รับการออกแบบด้วยความน่าเชื่อถือความทนทานมาตรฐานและการสนับสนุนในระยะยาว บริษัท ที่ฉันทำงานด้วยกำลังทำงานอย่างน้อยหนึ่ง Texas Instruments PLC ตั้งแต่ปี 1987 และอีกหลาย บริษัท จากต้นปี 1990 อะไหล่ยังคงมีอยู่จากแหล่งอุตสาหกรรมบน eBay และอื่น ๆ

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

  • หมายเลขขั้นตอน เช่น '5'
  • ลักษณะ เช่น 'ชั่งน้ำหนักกล้วยอัตโนมัติ', 'เชอร์รี่โหลดด้วยตนเอง', 'ขูดลง'
  • ความเร็วผสม (RPM) เช่น '25'
  • เวลาผสม เช่น '120'
  • ต้องใช้วิธีขูดตอนท้ายขั้นตอนหรือไม่ (Y / N) เช่น 'Y'
  • ต้องการความร้อนไหม? (Y / N) เช่น 'N'
  • อุณหภูมิ (° C) เช่น '0'

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

ทำให้ระบบมีความยืดหยุ่นและสามารถแก้ไขได้ เรามีระบบที่แข็งแกร่งพร้อม PLC และ HMI ที่คุ้นเคยและให้การสนับสนุนโดย บริษัท จำนวนมาก


ขอบคุณสำหรับการตอบกลับ. แอปพลิเคชันเฉพาะที่เรามีสำหรับชีวเคมีแบบอัตโนมัติดังนั้นด้วยรีเอเจนต์นับร้อยและขั้นตอนที่อาจเกิดขึ้นหลายร้อยขั้นตอนที่เกี่ยวข้องกับกระบวนการที่เราดำเนินการอัตโนมัติมันเป็นความเห็นของฉันในปัจจุบันว่าการเขียนโปรแกรมอุปกรณ์ HMI
Dragonsheep

1

คุณไม่ได้ระบุงบประมาณในการพัฒนาและฮาร์ดแวร์ซอฟต์แวร์หรือสำหรับค่าใช้จ่ายต่อหน่วยของฮาร์ดแวร์ที่นำไปใช้ แต่ถ้าคุณสามารถจ่ายได้ตามความต้องการของคุณอาจจะพบอย่างแน่นอนโดยใช้ตราสารแห่งชาติCompactRIOฮาร์ดแวร์และLabVIEW Real-Timeซอฟแวร์

CompactRIO Controller เป็นคอนโทรลเลอร์แบบฝังที่ทนทานเชื่อถือได้และประสิทธิภาพสูงเกรดอุตสาหกรรมพร้อมการรับรองมาตรฐานอุตสาหกรรม

มีโมดูล I / O ให้เลือกมากมายซึ่งเสียบเข้ากับแชสซีของคอนโทรลเลอร์หรือหากการออกแบบของคุณได้รับการแก้ไขและคุณต้องการลดต้นทุนต่อหน่วยผู้ควบคุมและ I / O จะพร้อมใช้งานเป็นบอร์ดเดี่ยวเพื่อให้คุณทำงานร่วมกับฮาร์ดแวร์ของคุณ . คุณจะเขียนซอฟต์แวร์ใน LabVIEW เรียลไทม์เพื่อเรียกใช้บนคอนโทรลเลอร์และดำเนินการควบคุมกระบวนการและสิ่งนี้ยังสามารถทำหน้าที่ UI บนเว็บสำหรับการแก้ไขขั้นตอนกระบวนการหรือสามารถสื่อสารกับโปรแกรม UI เขียนใน LabVIEW หรือภาษาอื่น ทำงานบนโฮสต์พีซี ฉันมีประสบการณ์ จำกัด กับ PLC แต่ฉันคิดว่ามันยุติธรรมที่จะพูดว่าวิธีนี้จะเป็นลำดับความสำคัญที่ทรงพลังและยืดหยุ่นแม้ว่าอาจจะมีราคาสูงกว่าก็ตาม

โปรดทราบว่าแม้ว่าคอนโทรลเลอร์ cRIO จะมาพร้อมกับ FPGA ในตัวเครื่อง แต่คุณไม่จำเป็นต้องซื้อโมดูล LabVIEW FPGA เว้นแต่ว่าคุณจำเป็นต้องเขียนรหัส FPGA ดูเหมือนว่าเรียลไทม์ควรจะดีสำหรับความต้องการของคุณ


0

ข้อเสนอแนะของฉันคือดูที่ LabVIEW ฉันคิดว่ามันจะตอบสนองความต้องการที่ระบุไว้ในโพสต์ของคุณ หลีกเลี่ยงการเขียนคอมไพเลอร์ของคุณ นั่นคือวิธีการทำงานมากกว่าที่คุณต้องทำ พวกเขาเป็น PLC เชิงพาณิชย์จำนวนมากที่เหมาะสมกับใบเสร็จ ฉันคิดว่า NI เป็นหนึ่งในวิธีที่ง่ายกว่าที่จะทำงานด้วย สำหรับการดาวน์โหลดโปรแกรมผู้ใช้คุณต้องสร้างแอปพลิเคชันเพื่อให้บรรลุผลดังกล่าว

http://www.ni.com/en-us/shop/labview.html

NI มีโมดูลที่หลากหลายรวมถึง AtoD, เอาต์พุตดิจิตอล, เอาต์พุตอะนาล็อก, อินเตอร์เฟส CAN เป็นต้นซอฟต์แวร์นี้มีประโยชน์มากสำหรับการสร้างส่วนต่อประสานผู้ใช้ที่ดูดี ข้อเสียคือไม่ถูก หากแตกต่างจากการเขียนโปรแกรมด้วยข้อความเป็นอย่างมาก การฝึกอบรมบางอย่างจะต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.