Bir API aracılığıyla programları derleyebilen / indirebilen piyasada mevcut PLC'ler var mı?


9

Ekibim, minimum işlemle harici cihazlara basit, gerçek zamanlı IO gerektiren endüstriyel bir süreci kontrol etmek için bir PLC kullanmaya karar verdi. Bununla birlikte, gereken kesin çıktıların çalışmalar arasında değişmesini bekliyoruz (aslında, belirli bir çalışma çok nadiren tekrarlanacaktır) ve operatörün herhangi bir PLC / yazılım programlama deneyimi olmayacaktır.

Gerçek ürünü ifşa edemesem de, en iyi benzetme, PLC'nin farklı vanaların gerçek zamanlı olarak açılıp kapanmasını kontrol ettiği bir endüstriyel smoothie makinesi tasarlıyor olmamızdır. Operatör, yazılımımızı, farklı reaktiflerin ve ilgili ağır makinelerin (örn. Endüstriyel bir karıştırıcının) açılıp / kapatılması için özel bir dizi eklemesi tasarlamak için kullanacaktır.

İşte zorluk: Mevcut yaklaşımımız, operatörün verdiği talimatları (10 ms için açık vana A, 20 ms için açık vana B) merdiven mantığına ve PLC makine koduna çeviren kendi derleyicimizi yazmaktır. Daha sonra kendi derlediğimiz programı seri olarak PLC'ye doğrudan indiririz. Tüm bunların otomatikleştirilmesi gerekir, böylece operatörün sadece adım dizisini bulduktan sonra bir düğmeyi tıklaması gerekir.

Ancak, araştırmama rağmen, her iki 1) de API içeren bir derleyiciye sahip olan veya bir derleyici yazabilmek için PLC makine kodları hakkında yeterli bilgi yayınlayan tek bir PLC satıcısı bulamadım, 2) programların PLC'ye doğrudan indirilmesini destekliyor satıcının programlama yazılımını kullanmadan (CX-programcısı, Atmel stüdyosu, vb.).

Yanlış bir yaklaşım benimsediğimize inanıyorum ya da en azından hangi ürünü arayacağımızı bilmiyorum. I / o, kendi kartımızın inşasını haklı çıkarmayacak kadar basittir, ancak aradığımız işlevsellik, yani yüksek seviyeli PC yazılımı ile PLC etkileşimi mevcut görünmemektedir.

İdeal olarak, tüm programı bir kerede PLC'ye indirmek istiyoruz ve her seferinde talimat göndermiyoruz. PLC üzerindeki tüm talimatların (veya kullandığımız herhangi bir cihazın) gerçek zamanlı olması gerekir.

Tüm sürecin daha büyük bir program tarafından otomatik hale getirilebilmesi için, makine kodunun derlenmesini ve indirilmesini destekleyen piyasada mevcut herhangi bir PLC var mı? Üst düzey bir dilde yazılmış PC yazılımı tarafından yazılmış bir PLC'ye gerçek zamanlı bir program indirmenin başka bir yolu var mı?


Bir işletim sistemi kullanmaya ve kullanıcının program kodunuzu özel bir GUI aracılığıyla düzenlemesine ve örneğin GCC ile derlemesine ve derlenmiş programı "PLC" nize indirmesine izin verin.
Eggi

RTOS programlama ve ilkelerini tanıtan materyaller veya eğiticiler önerebilir misiniz? RT olmayan gömülü geliştirme ve geleneksel merdiven mantığına en çok alışkınım, bu yüzden bu çözümle çok ilgileniyorum, bununla nereden başlayacağından emin değilim.
Dragonsheep

@ API nedir? Eğer "uygulama programı arayüzü" ise, nasıl derler / indirirsiniz?
Dmitry Grigoryev

1
@Dragonsheep Bu fikri görmezden gelsek iyi olur. Henry Cun'un belirttiği gibi endüstri kanıtı olmayan çok fazla yön var. 1: Derlemeden önce kodu nasıl değiştirirsiniz? Düz metin içinde bir yere koymak mı? 2: OS ile on yıllar boyunca destek
Eggi

Yanıtlar:


11

Bunun için kesinlikle bir PLC kullanabilirsiniz. Dışında, her "smoothie tarifi" için PLC kodunu değiştirmek istemezsiniz.
SD kartlar, ağ depolama, dahili depolama veya hatta QR kodları gibi herhangi bir kaynaktan tarifleri okuyan bir PLC uygulaması yazmalısınız.

Genellikle PLC zaten var bir özellik için bu bir tarifi (HMI ile ve düzenleme) a yükleyebilirsiniz parametreler kümesidir.

minimum işleme ile harici cihazlara gerçek zamanlı G / Ç

Ne seçerseniz seçin , kendi PLC'nizi icat etmeyin . Muhtemelen zaman ayırmaya değmez. Ve yazılımın veya ek modülün pahalı olduğunu düşünmeyin, bu fiyat için yazamazsınız.


5

Bunun, gelişmiş endüstriyel PLC'leri kullanan bir şeyden ziyade, minimum plc için oldukça basit bir görev olduğunu varsayacağım.

Bunun endüstriyel olarak yararlı olduğunu, yani tarifin müşteri tarafından 10 yıl içinde değiştirilebileceğini varsayacağım. Ayrıca, kullanışlılığı, işinizden çıkmanıza veya yeni ürünlere geçmenize yardımcı olmalıdır.

Birçok sistem, dediğiniz gibi indirmek ve / veya derlemek için bazı özel yazılımlar gerektirecektir. Uzun vadede, müşterileriniz Windows 11,12,13'ün yazılımı artık çalıştırmayacağını görecekler. Bundan kaçınmak için, programın bir tür seri port üzerinden gönderilen düz ascii olmasını istiyorsunuz. Bu yaklaşık 50 yıldır devam ediyor ve yok olma belirtisi göstermiyor.

Ileri hedef üzerinde "derlenebilir", bu nedenle müşteri sadece bir terminalden ona ascii göndermek zorunda. Asla modası geçmeyecek.

Dördüncü ahlakın bir parçası, müşterilerinizin ürün için belirli bir dil olarak ele aldığı alana özgü ilkel öğeler ("AddBanana", "Karışım", "Dökün") yazmanızdır. Forth bilgisayar kullanıcıları tarafından gizemli olarak kabul edilirken, son kullanıcılar için kavramsal olarak kullanımı çok kolaydır - bu geçerli bir program olacaktır.

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

Örnek olarak küçük bir Arduino tabanlı PLC kullanabilir ve FlashForth yükleyebilirsiniz. Örneğin MPEForth ve ARM-korteks tabanlı PLC gibi birçok seçenek vardır.

Yazılımınız artık herhangi bir editör ve seri göndermek için bir program. Bunun için standart araçlar vardır ve siz gittikten uzun bir süre sonra, müşteri çok basit olduğu için sıfırdan çalışmasını sağlayabilir.

Tüm fikrinizdeki bir başarısızlık, müşterinin ürünü programlaması ve elbette yanlış şeyi yaparak ne olursa olsun, onu değerlendirebilmesidir.

Çünkü sadece ascii dosyaları, müşteri için süslü bir kabuk yapmak oldukça kolaydır, ancak ürün hala onsuz çalışacaktır.


Yanıtınız için teşekkürler! Önerdiğiniz Controllino gibi bir şey tam olarak aradığımız şey! Yazılım üzerinde doğrudan kontrole sahip olduğumuz ve programları seri olarak indirebildiğimiz minimalist bir PLC. "Başka birçok seçeneğimiz" olduğunu söylediğimizde, alakalı arama terimleri ne olurdu / başka hangi ürünleri önerirsiniz? Ekibim ağır sanayiyi çok iyi biliyor, bu yüzden her zamanki Siemens / Mitsubishi / Omron kataloglarını inceledikten ve aradığımızı bulamadık.
Dragonsheep

@Dragonsheep: Bir yanıtı kabul etmeden önce bir iki gün beklemenizi öneririz. Bu, başkalarını yazmaya teşvik eder ve daha fazla yanıt ve farklı bakış açıları alırsınız.
Transistör

Bu sizin için ilginç bir yaklaşımsa ve araçlar, uzmanlık ve destek için para ödeyen kişilerseniz, MPEForth'ta Stephen Pelc ile konuşmak isteyebilirsiniz. Bu tür şeyleri ticari olarak yapıyor. Öte yandan, özgür bira yazılımı kullanıcısıysanız, arduino tabanlı modülleri veya plc'leri ve FlashForth'u arayın.
Henry Crun

1
Ayrıca @Transistor ve Jeroen'in cevaplarına katılıyorum: İhtiyacınız olan şey endüstriyel bir PLC ise, ihtiyacınız olan şeydir. (ve rastgele Arduino plc modülleri fabrika denetleyicileri, daha çok iyi huylu bir kutu denetleyicisi olacak kadar sağlam değildir). Muhtemelen tüm dünyaların en kötüsüne yol açtığı için "bir işletim sistemi ile bir şeyler alın ve GCC'yi kullanın" tipi çözümlere katılmıyorum.
Henry Crun

Bu gerçekten bir müşteriye satmayı umduğumuz endüstriyel bir uygulamadır. Büyük endüstriyel satıcıların (Mitsubishi, vb.) Ürünleri ile gösterdiği 20 yıldan fazla güvenilirliğe sahip olmayı umuyoruz, bu nedenle bu yeni açık kaynaklı donanım satıcılarından birine gitmeyle ilgili bazı endişeler var. Aynı zamanda, yazılım akıllıca, açık kaynak aradığımız kontrolü bize veriyor gibi görünüyor. Stephen, ulaşmak için iyi bir insan gibi görünüyor. Öncü için teşekkürler.
Dragonsheep

2

Endüstriyel bir uygulama için Arduino vb. İle uğraşmayın. PLC'ler güvenilirlik, sağlamlık, standartlar ve uzun vadeli destek düşünülerek tasarlanmıştır. Çalıştığım şirket 1987'den beri en az bir Texas Instruments PLC ve 1990'ların başından beri diğer birçok şirkette çalışıyor. Yedekler eBay, vb. Üzerindeki endüstriyel kaynaklardan hala mevcuttur.

İhtiyacınız olanı yapmak için yeterli güce sahip bir PLC ve endüstriyel bir HMI kullanın. Kısa süre önce otomatik ve manuel adımlarla reçete esnekliği istediğimiz bir mikser işini tamamladım. Dizi, HMI yoluyla programlanan bir dizi üzerinden adım adım kontrol edilir.

  • Adım numarası. örneğin '5'.
  • Açıklama. örneğin 'Otomatik tartım muz', 'Manuel yük kirazları', 'Kazıma'.
  • Karışım hızı (RPM). örneğin '25'.
  • Karıştırma süresi / süreleri. örneğin '120'.
  • Adım sonunda kazıma gerekli mi? (E / H) örneğin 'Y'.
  • Isı gerekli mi? (E / H) örneğin 'N'.
  • Sıcaklık (° C). örneğin '0'.

Sistemi, öngörülebilir gelecek için yeterli olan ancak gerekirse kolayca genişletilebilecek yirmi adımlık bir dizi ile tasarladık. Tüm ayarların HMI uygulamasında ayarlanmış min ve maks değerleri vardır.

Bu, sistemi çok esnek ve düzenlenebilir hale getirir. Çok sayıda şirketin tanıdığı ve desteklediği PLC ve HMI ile sağlam bir sistemimiz var.


Yanıtınız için teşekkürler. Sahip olduğumuz özel uygulama otomatik biyokimya içindir, bu yüzden otomatikleştirdiğimiz sürece yüzlerce reaktif ve potansiyel olarak yüzlerce adımla, her türlü HMI cihaz programlamanın umutsuzca karmaşık olacağı kanısındayım.
Dragonsheep

1

Geliştirme donanımı ve yazılımı veya dağıtılan donanımın birim başına maliyeti için bir bütçe belirlemediniz, ancak bunu karşılayabiliyorsanız, gereksiniminiz National Instruments CompactRIO donanımı ve LabVIEW Gerçek Zamanlı yazılımı kullanılarak karşılanabilir .

CompactRIO Denetleyici, endüstri standardı sertifikalara sahip sağlam, güvenilir, yüksek performanslı, endüstriyel düzeyde yerleşik bir denetleyicidir.

Denetleyici kasasına takılan bir dizi G / Ç modülü mevcuttur veya tasarımınız sabitse ve birim maliyetini azaltmak istiyorsanız, donanımınızla tümleştirmeniz için denetleyiciler ve G / Ç tek kart olarak kullanılabilir . Denetleyicide çalıştırmak ve işlem denetimini yürütmek için LabVIEW Gerçek Zamanlı Yazılım'a yazabilirsiniz ve bu aynı zamanda işlem adımlarını düzenlemek için web tabanlı bir kullanıcı arayüzü sunabilir veya LabVIEW veya başka bir dilde yazılmış bir kullanıcı arayüzü programıyla iletişim kurabilir , bir ana bilgisayarda çalışıyor. PLC'lerle ilgili sınırlı deneyimim var, ancak bu çözümün muhtemelen daha yüksek maliyetle olsa da, daha güçlü ve esnek bir büyüklük sırası olacağını söylemek doğru olur.

CRIO denetleyici yerleşik bir FPGA ile birlikte gelse de, aslında FPGA kodu yazmanız gerekmedikçe LabVIEW FPGA modülünü satın almanız gerekmediğini unutmayın; Gerçek Zamanlı ihtiyaçlarınız için iyi gibi görünüyor.


0

Benim önerim LabVIEW'a bir göz atmak. Gönderinizde listelenen ihtiyaçları karşılayacağını düşünüyorum. Derleyicinizi yazmaktan kaçının. Yapmanız gerekenden daha fazla iş bu. Onlar tasarıyı uygun birçok ticari PLC vardır. Bence NI çalışmak için daha kolay olanlardan biri. Kullanıcı programlarını indirmeye gelince, bunu gerçekleştirmek için bir uygulama oluşturmanız gerekir.

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

NI, AtoD, dijital çıkışlar, analog çıkışlar, CAN arabirimi vb. Dahil olmak üzere geniş bir modül yelpazesine sahiptir. Olumsuz, ucuz değil olmasıdır. Metin tabanlı programlamadan da çok farklıysa. Biraz eğitim gerekecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.