Linux за българи: Форуми

Нетехнически теми => Предложения за български проект => Темата е започната от: ivo1204 в Feb 14, 2011, 16:51



Титла: Arduino SCADA
Публикувано от: ivo1204 в Feb 14, 2011, 16:51
Може ли да имаме една  мощна Open Source Process Control  система, естествено работеща под Линукс, с нормален РС хардуер? И за хардуера, и за софтуера  от горе до долу  да пише, -  Open, Open,Open  …..?
И по важното, да е сериозна и изпитана, да бие по възможности  другите, да е надеждна, да е интуитивна и гъвкава, разширяема и т.н.
Аз честно казано, не очаквах да има такова животно, но … оказва се, че има!

 http://www.proview.se/

Работи под Линукс, има пакети за Дебиан, Федора, Убунто, активно си и подържа и обновява , форум, git , документация, примери, ръководства.
http://sourceforge.net/projects/proview/files/proview/proview_4.8.1-2
http://www.proview.se/index.php?option=com_content&task=view&id=28&Itemid=57

В последната версия има и поддръжка на Arduino Uno и  Mega .


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 16:33
И един примерен проект с Arduino  в картинки стъпка по стъпка. Работещ де.



Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 16:33
още


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 16:34
и


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 17:25
после ...


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 18:09
после ....
оказва се, че име с две долни черти дава проблеми на по късен етап, в имената премахвам долните черти
D_Led_   


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 19:04
за plc диаграмата


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 03, 2011, 23:32
 и


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 04, 2011, 18:18
на края...
ls -l /dev/ttyUSB0  ми дава
crw-rw---- 1 root dialout 188, 0 Mar  5 21:24 /dev/ttyUSB0

така че добавянето на  user pwrp в група  dialout ми решава проблема с правата напълно.

скоростта 38400 може да се увиличи, ардуновският ботлоудер оптибот / той си е в ардуйното/ е на 112к и то заради съвместимост с Уиндовса, иначе може още х 2  на 224к.
А по начало и ботлоудер не трябва, че и цялото ардуйно, но това е друга тема, важното е, че има мегдан за оптимизация не в проценти, а десетки пъти, ако се наложи.


Титла: Re: Arduino SCADA
Публикувано от: bot в Mar 26, 2011, 02:13
 Иво, радвам се на ентусиазмът ти, обаче кой ще поддържа подобна система? Някой Линукс системен администратор ли? Защото специалистите по PLC контролери и SCADA системи са учили ladder logic (релейна логика) и чат-пат основите на някой протокол най-общо MODBUS. И най-популярните PLC-та са тези, за които има програмен интерфейс, проектиран за идиоти (Siemens S5..S7, Mitsubishi, Allan-Bradley)


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 27, 2011, 15:32
Здравей, bot
Темата е огромна, радвам се че даваш мнение.
Личен повод да се заинтересувам от подобен проект бе, че видях подобно нещо в село Х окръг Y предприятие Z един германски автоматизиран склад. Под Уиндоус.
Автоматизирането се състои в това – представи си портален кран, който се движи из много голямо хале, внася и изнася  / в случая плоскости /, като ги подрежда и пренарежда и т.н.
Имаме изнесен операторски панел на единият край, в другият е компютъра с връзка към  PLC- тата, а също и със сервозадвижвания  за 3 -оси.
Отделно, заявки за изнасяне могат да дойдат и вън,  от няколко места.
Значи, имаме  база данни, която обслужва всички – машина, оператор, началник, счетоводство. От нея се взема всичко, и къде и колко има, бройка, место и т.н. Когато на цеха е нужна дадена  плоскост, /това е с приоритет 1 / от друг компютър идва заявка, и тя се изпълнява. Ако в същото време се и вкарва материал / преоритет 2/ и му е дадена и някаква задача да пренареди и оптимизира / преоритет 3/ и т.н.
Описвам повече, за да се убедиш, че тая задача не би могла да бъде изпълнена само с PLC – та, те са на друго ниво.
Та, това германско изпълнение, базирано на затворени   софтуерни продукти, в никой случай не превъзхожда описаната, по нищо! Например  PLC диаграмите са текст, интерфейса – беден и грозен, дори хората искаха достъп да дата сървъра, да се интегрира със счетоводният им софтуер, проблем...
Предполагам, има много такива случай, където наличието на отворен продукт би спестило време и пари, а и да заработват българите, а не външни фирми, от които после и поддръжката е проблем, имах случай  на друго място за стар допотопен компютър /1GHz/ италианците да искат 5000 евро...
 


Титла: Re: Arduino SCADA
Публикувано от: bot в Mar 27, 2011, 18:21
 Иво, съжалявам, сега се зачетох в документацията. Мислех си че става дума за среда за проектиране на алгоритъм за PLC цонтролери и за програмирането им, сега виждам че това е много по сериозен продукт. В компанията където работя за подобни системи използваме LabView на National Instruments. Дори да има наполовина функционалноста на LabView фактът че е free и е с отворен код го прави доста переспективен.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 28, 2011, 13:58
bot
Вярно че не съм дал описание,на сайта има доста премери и инфо, но явно малко по подробен увод не е излишен от друга гледна точка.

Proview е типична GNU програма замислена и реализирана изключително върху неговите принципи, и предимствата , и недостатъците и са в пряка връзка от OS.

Относно бързината, смятам че в proview е направено максимално възможното да се изиска всичко от хардуера и ОС.

Една инсталация на Убунто десктоп и пакета на Proview е всичкият нужен софтуер за да разработим каквото ни трябва. На нея и ще коригираме и тестваме. Това е нашата develop среда.
В тази среда имаме много средства за тестване и симулация, като например към PLC диаграмата маже да закачим друга симулираща външната среда, имаме дублиращ истинските набор симулиращи обекти и т.н.
Ние правим всичко на тази станция, но още тук разделяме логически нещата - това ще е за операторският панел, това за работната ... и т.н. После всяко си отива по предназначение в съответния компютър. Може по няколко начина, но общо взето е копиране - оплайн, или флашка.
Може да направим операторски терминал, Убунту с много слаб компютър. Може работна станция, която ползва други за софтуерни PLC-та, а може и направо връзка  стандартните PLC-та. Може да имаме MySQL на друго място и т.н.
Proview си има и OPC server -
 http://www.opcdatahub.com/WhatIsOPC.html
 и HMI за Операторския панел, 
(а за поддръжката - рисуваме се машина, цех, каквото е, с датчици, мотори, и др, и ги връзваме с реалните им сигнали, даваме им права и парола...)

И може да спестим и тук,не са евтини http://www.omega.com/ppt/pptsc.asp?ref=G3_HMI310&Nav
 
Работната станция е съща такова с Убунту / има пакети и за други, а и компилиране от сорс, Убунту казвам условно/, но може да е страхотно орязано с цел да не работят разни демони и глупости, които ядат памет и време.
 Нямаме графика, даже и х-сървър не ни трябва, нито монитор и клавиатура. На Proview е зависимо от много малко други библиотеки, добре е да имаме и оптимизирано за хардуера ядро.
Фактически ние пренасяме готовата програма в компилиран вид на работната станция.
Риал-тайм ядро е опция,и едва ли нужна / пишат че от 400 компютъра само на 2 имат и то пачната ванила/.
Или като краен резултат може да имаме стандартен по-старичък компютър с безплатен софтуер, абсолютно конкурентен продукт.


В PLC диаграмата ние можем да управляваме както входни и изходни сигнали /локални и отдалечени/,
както например с нещо подобно,
http://www.motioncontrol.se/bilder/USBIO_Naket1_snett-L.gif

така и сложни обекти,каквито са PLC контролерите, или някоя по сложна схема.
Ние създаваме обект, да кажем – готварска печка, като НЕ описваме органите и за управление – ключове с позиции 1.2.3.4 и т.т.н.
 Описваме действията, които ни трябват – например „ГОТВИ“,  „манджата готова“ - предупреждение и аларма „изгоря“.
В примера ми arduino-то не прави нищо и е просто входно-изходен блок, но може и да го програмираме като PLC и дадем друг смисъл на сигналите.
И още, ако  PLC готовите функции не стигат, може да добавим, а може и направо с-код да добавим. А пък може и да стартираме наши програми, отделно или от PLC диаграмите.
Чрез базата данни в която се пази всичко - и сигналите, може даже да предадем цялото управление на външен компютър, а тоя да го спрем.Варианти безброй.
   


Титла: Re: Arduino SCADA
Публикувано от: kennedy в Mar 29, 2011, 10:26
това нещо може ли да управлява стъпков двигател?


Титла: Re: Arduino SCADA
Публикувано от: laskov в Mar 29, 2011, 10:47
http://www.arduino.cc/en/Tutorial/StepperUnipolar
http://www.element-14.com/community/videos/1728


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Mar 29, 2011, 15:39
Стъпков мотор
По принцип да, обаче само arduino -то е към 60 лв, ще трябват и още неща.
Варианти – поне два. На това което съм дал по горе – PLC  диаграмата
добавяш,  или в записа на ардуино
http://www.proview.se/index.php?option=com_joomlaboard&Itemid=24&func=view&id=1733&catid=3&limit=6&limitstart=6

https://github.com/siamect/proview/blob/master/otherio/exp/rt/src/pwr_arduino_uno.pde

Ако ще ползваш компютър, много по лесно е да ползваш паралелният порт без   arduino, мисля писах -
http://www.linux-bg.org/forum/index.php?topic=34649.0

Ако пък ти е нужен микроконтролер,  но не и компютър,  в http://www.comet.bg
има ATTINY26L-8PU / преди бяха  към 50 ст. , сега гледам 3 лв. /
гр. София, Магазин
ул. "Цар Самуил" 23
тел.: (02)915 58 20, (02)915 58 23, тел./факс:(02)951 52 67
 --
с универсалната платка и има и интегрални схеми драйвери за стъпкови мотори, ако не – с транзистори.
Не ти трябва кварц, схемата е едричка, DIP 20 корпус и лесен за запояване, а за програмиране ти трябва един куплунг за паралелният порт и резистори / между 300 ом  и  1 ком /  – общо към левче.

Та уточни на каква точно категория се спираш,  като важни неща са за каква скорост, ще трябва ли рамп ускорение / забавяне, позициониране, и т.н.  Понеже скан времето с ардуйно в този вид е около 20 мс,  директно управление може за бавни скорости. Печалба - компютъра ще изчислява кривите на движение, което е много по лесният вариант. 
Ако ардуйното генерира стъпките /то е серво драйва фактически/  а компютъра му задава позиция е най бързото, тогава нямаш никакви ограничения по скорост. Също нямаш отраничение по скорост  и при стъпки през паралелният порт / 1Мхц /.


Титла: Re: Arduino SCADA
Публикувано от: laskov в Mar 30, 2011, 16:57
//Малко извън темата: Иво, това Arduino може ли да се повреди лесно по време на експериментите, например чрез даване на късо на два или повече от изходите му докато са в различни състояния, или по друг някакъв начин? Питам, понеже преди време се опитах да запаля сина ни, а сега си мисля да му подаря едно.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 02, 2011, 00:38
Не, издържа на кратки къси,  +Vcc към краче когато е изход е кофти.
Ардуиното се програмира и с   gas , gcc  и avrdude драснах примерче...
 Впрочем вх/изх сигнали имат един проблем, но чак до изгаряне, не. Те има
вграден резистор към +. който можеда се включи. Той е удобен, ако например
искаме входа да е 1 стабилно, при откачена верига. пул-ап,  Когато обаче го
направим изход и той е 0, се консумира ток.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 03, 2011, 13:28
Разбира се, Proview не е единственият проект който може да ползва Arduino. И докато при него,  Arduino е по-скоро опция, демо, и т.н. В други е от основните компоненти.
Един такъв проект, с много сериозна поддръжка на Arduino  е STANTOR.
http://stantor.free.fr/index_EN.htm

Интересен и мощен проект, SCADA но с ориентация  към Home Automation, добре подържан и обновяван, има пакети за някалко дистрибуции. Remote Control  през Web server, Video Web камери, и много други екстри, добри за например охрана на обекти – включително пожар, температури и т.н.
Ако има някой интересуващ се, запознат, или ползвал този проект , нека сподели мнение.


Титла: Re: Arduino SCADA
Публикувано от: Mitaka в Apr 03, 2011, 14:40
От малък съм запален по електрониката... доста време не бях пипвал нищо, но сега мисля това да се промени:

http://cgi.ebay.com/Arduino-DIY-Starter-Kit-Duemilanove-ATmega-328-LCD-1602-/270656049300?pt=LH_DefaultDomain_0&hash=item3f045b9094#ht_2728wt_936

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=280628614554&fromMakeTrack=true&ssPageName=VIP:watchlink:top:en#ht_2484wt_936


http://shop.ebay.com/?_from=R40&_trksid=p5197.m570.l1313&_nkw=arduino&_sacat=See-All-Categories

п.с.
И електрониката не е това, което беше.... преди за една "бягаща светлина" за всеки диод се слагаше кондензатор/резистори/транзистор.... а сега - един PIC примерно, и хайде.... платката поне 10 пъти по-малка :)


Титла: Re: Arduino SCADA
Публикувано от: kennedy в Apr 03, 2011, 19:17
Стъпков мотор
По принцип да, обаче само arduino -то е към 60 лв, ще трябват и още неща.
Варианти – поне два. На това което съм дал по горе – PLC  диаграмата
добавяш,  или в записа на ардуино
http://www.proview.se/index.php?option=com_joomlaboard&Itemid=24&func=view&id=1733&catid=3&limit=6&limitstart=6

https://github.com/siamect/proview/blob/master/otherio/exp/rt/src/pwr_arduino_uno.pde

Ако ще ползваш компютър, много по лесно е да ползваш паралелният порт без   arduino, мисля писах -
http://www.linux-bg.org/forum/index.php?topic=34649.0

Ако пък ти е нужен микроконтролер,  но не и компютър,  в http://www.comet.bg
има ATTINY26L-8PU / преди бяха  към 50 ст. , сега гледам 3 лв. /
гр. София, Магазин
ул. "Цар Самуил" 23
тел.: (02)915 58 20, (02)915 58 23, тел./факс:(02)951 52 67
 --
с универсалната платка и има и интегрални схеми драйвери за стъпкови мотори, ако не – с транзистори.
Не ти трябва кварц, схемата е едричка, DIP 20 корпус и лесен за запояване, а за програмиране ти трябва един куплунг за паралелният порт и резистори / между 300 ом  и  1 ком /  – общо към левче.

Та уточни на каква точно категория се спираш,  като важни неща са за каква скорост, ще трябва ли рамп ускорение / забавяне, позициониране, и т.н.  Понеже скан времето с ардуйно в този вид е около 20 мс,  директно управление може за бавни скорости. Печалба - компютъра ще изчислява кривите на движение, което е много по лесният вариант. 
Ако ардуйното генерира стъпките /то е серво драйва фактически/  а компютъра му задава позиция е най бързото, тогава нямаш никакви ограничения по скорост. Също нямаш отраничение по скорост  и при стъпки през паралелният порт / 1Мхц /.

По принцип искам да управлявам една машинка с 2 стъпкови двигателя за машинка която  много прилича на принтер. Имам стъпковите двигатели и драйверите за тях. Правил съм експерименти с паралелния порт, но се оказва неизползваем за целта, тъй като не може да се гарантира времето между стъпките. Има някакво подобрение когато използвам rt  линукс, но въпреки това го намирам за неудачно решение, затова си мислех за едно адурино което да движи двата мотора, като рс-то да му задава колко стъпки трябва да се направят....


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 03, 2011, 21:20
 Управлението през паралелният порт не би било проблем,  например  ECM2 ги ползва - прави много сериозни тестове, и давт страшно добри резултати, той е основен при тях.
http://www.linuxcnc.org/

За Real Time Kernel, в proview не препоръчат  пачовете, но ако се наложи препоръчват на
https://www.osadl.org/
които са си към стандартното ядро, те се правят към ядрата с LTS-
https://www.osadl.org/Latest-Stable-Realtime.latest-stable-realtime-linux.0.html
а също и  тестове.
По спомен, в документацията на пача/ не съм сигурен къде де/ има много добро обяснение за проблемите,  и какво е възможно. Та има хардуер, който просто не става RT. Препоръчат махане на USB мишки и клавиатури. Но има биоси, който като вземат прекъсване за сервизна функция, например  за темперетура и вентилатор, прецакват   Real Time, защото просто изчакват нещо.Ядрото даже и идея си няма за това, значи и TurboCNC да качиш под ДОС, все тая.
Има модул в пача, убиец на тия процеси, но е опасен, пише. След дадено време го килва, ама може да изгори нещо, риск. Което обаче може без проблеми, това е честотата но преемпид моде, /и в стандартното ядро го има / да е 1000 Нц. Максималната.

А проекта Raprep гледал ли си? Той е с Arduino или версия на Arduino, Sanduino?
То би трябвало да има всичко коквото ти трябва...

 http://reprap.org/wiki/Microcontroller_firmware_installation
http://reprap.org/wiki/Electronic_wiring
има и на руски ако ти е по лесен
http://reprap.org/wiki/Монтаж_проводов

Мен например ме впечатлава CAD - програмирането им.
Ако нещо ти хареса от тях, пиши, да видим какво може да се вземе, ако не ще измислим друго ...
А степ мотора е и музикален малко
http://www.youtube.com/watch?v=S6xVTEx1S3g




Титла: Re: Arduino SCADA
Публикувано от: kennedy в Apr 04, 2011, 13:07
точно ECM2 пробвах и върти добре, но не мога да ползвам техния продукт за моите цели ....
машинката която искам да направя е нещо като ето това http://www.youtube.com/watch?v=l9O3Ic0gOH0 но без въртящата глава и разбира се в много по-малки размери


Титла: Re: Arduino SCADA
Публикувано от: BULFON в Apr 04, 2011, 14:19
Планираме конференцията на "Линукс за българи" този месец да е отново на тема хардуер и хардуер с отворен код. Може би по-късно през месеца ще излезе информация за лекциите, ако успеем да организираме нашите лектори.
За Ардуино - препоръчвам Роботев (http://www.robotev.com/). Там ще ви окажат помощ, ще намерите материали на български. Иначе и нещата от ebay също стават.
Управлението на стъпкови двигатели зависи от типа на стъпковите двигатели - униполярни или биполярни. Има доста информация в интернет. За човек, който гони крайната цел, а не да разучава електрониката препоръчвам да си купи драйверите от където намери. Например sparkfun (http://sparkfun.com).


Титла: Re: Arduino SCADA
Публикувано от: laskov в Apr 04, 2011, 23:29
...машинката която искам да направя ...
За това не може ли да се използва почти 1:1 матричен принтер, управляван с ESC последователности?


Титла: Re: Arduino SCADA
Публикувано от: gat3way в Apr 05, 2011, 00:11
Съжалявам за бруталния оффтопик, но гледам че тук сте се събрали хардуеристи. Някой тук занимавал ли се е с FPGA неща? Ако да - може ли да ме упъти кой kit е подходящ (баланса е цена/лесно като за начинаеш) - предполагам нещо на Altera/Xilinx? Има ли някакви варианти това да се програмира под линукс, защото като гледам разните VHDL симулатори/компилатори май са само уиндоус-базирани. Това се оказва от нещата, за които предварителният ми research удря много криво  на камък, намирам някакви доста противоречащи си матр'яли и неща които уж се водят нещо като въведения в материята но някак си ми изглеждат доста езотерично. Чувал съм че въобще не била чак такава философия да се програмират тези неща, но от това, което чета не съм особено убеден.


Титла: Re: Arduino SCADA
Публикувано от: kennedy в Apr 05, 2011, 10:30
...машинката която искам да направя ...
За това не може ли да се използва почти 1:1 матричен принтер, управляван с ESC последователности?

какво ще рече ESC последователности? може ли плавно да се управлява движението на главата и вала?

аз съм си събрал чаркове именно от принтери, имам и още един работещ матричен принтер за разглобяване.


Титла: Re: Arduino SCADA
Публикувано от: BULFON в Apr 05, 2011, 11:16
@gat3way:
За мен упоменатите технологии са все още няколко години встрани. Все още паля светодиоди.

@kennedy:
вероятно има предвид да ползваш направо принтера, леко модифициран, и да му подаваш команди (наречени ESC команди) като контролираш движението на вал,глава и да постигнеш нужната функционалност.


Титла: Re: Arduino SCADA
Публикувано от: laskov в Apr 05, 2011, 11:48
може ли плавно да се управлява движението на главата и вала?
Да, може. Опитвам се да ти намеря нещо конкретно в Интернет, "брадясах" от търсене, но нищо конкретно не мога да ти посоча. Пусни едно търсене на "Escape sequence to dotmatrix printer" в Google. Търси
Esc-нещо мести главата с една микростъпка надясно
Esc-нещо мести главата с една микростъпка наляво
Esc-нещо мести хартията с една микростъпка напред
Esc-нещо мести хартията с една микростъпка назад

Едит: Може би тук: http://en.wikipedia.org/wiki/ESC/P ($2)

http://lprng.sourceforge.net/DISTRIB/RESOURCES/PPD/epson.htm ($2)
Decimal    ASCII    Description
27 74 n    ESC J n    Immediate n/216 inch line feed (n=0..255)
27 106 n    ESC j n    Reverse linefeed (n/216 inch after buffer)


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 05, 2011, 14:10
Kenedy, гледах клипчето,  и мисля, че една истински CNC струг не би имал  проблеми с тия движения, имаме примерно линейно подаване на оборот / макарата е хваната  на шпиндела и задното седло / G01, а в двата края дясна и лява кръгова интерполация /G02 G03/ при постоянна контурна скорост.
Нямам идея дали изобщо  ECM2  подържа такива шпиндели / истинският има фото растерен преобразовател с нулев репер, за резбите трябва/ .  ECM2 е много тежък продукт за това, вярно, просто за протокола отбелязвам...
От управление от компютър в реално време  не виждам смисъл, но  връзка със компютър – да. 
Представям си така нещата като концепция.
Първо, нова програма се зарежда в платката  от PC-то  , в някакъв  фиксиран буфер, масив,
 да кажем  char code[256];
От тук нататък, може да откачим  PC-то, а платката има минимална консумация , малка батерия я държи, когато е изключен тока.
Остава открит въпроса със нулиране на позицията, твърди дискове, флопита, принтери, а и всичко което е CNC първо ходи в нулева позиция. А някои може да премести осите – да кажем при смяна на ролката, та предполагам имаш идея по тоя въпрос. Това са решими неща де, примерно при намалено напрежение бавен ход до твърд упор.
Ако имаш ключета в двата края за крайни изключватели, то техният сигнал би могъл да си ползва и за контрол.
Като програмата ше е някакъв текстови файл, който се редактира и скрипт, който го качва в ардуйното. РС  драйвера автоматично дава ресет при отваряне на връзка.
Ардуйното, след изчакване на 5-10 секунди след рестарт, минава на работен режим.
То проверява в буфера задължително за валидна програма / може и контролна сума/ и ако има такава, остава системата да бъде нулирана, нулеви точки.
Ако не искаш тоя ресет от драйвера, трябва да го махнеш хардуерно /разпояване, може да сложиш и  мостче/, софтуерно може, ама няма смисъл.
 То и имаш няколко движения,  примерно –
          0----- 1--------------------------2-----3
 от 0 до 1 линейно ускорение, от 1 до 2 равномерно, от 2 до 3 забавяне и обратно
като в 3 имаме малко изчакване – параметър с който да променяме градусите,
ролката – от 1 до 2 равномерно, от 2 до 3 ускорява, в 3 си върти с мах скорост и после от 3 до 2 скоростта пада до същата от 1 до 2.
Правилно ли съм разбрал нещата?


Титла: Re: Arduino SCADA
Публикувано от: kennedy в Apr 05, 2011, 14:38
за подобна машина ми искаха около 9000лв, а на мен ми трябва нещо малко и просто за използване.
аз го виждах така процеса, наглася се барабана и нишката на ръка. пуска се от компютъра в адуриното програмата която да казва кой двигател как да се движи и това е ....

няма ускорение защото няма големи инерционни сили, въобще cnc-то съм го отписал като прекалено сложно за мен. затова питах за адуриното. ако мога от компютъра директно да командвам принтера ще е най-добре ...

ще взема да вържа един матричен да видим какво ще стане с тези специални символи.



Титла: Re: Arduino SCADA
Публикувано от: laskov в Apr 05, 2011, 15:25
За наляво-надясно виж Relative horizontal tab в приложения файл. Той е от описанието на Star LC-15. При различните принтери тези команди можело да се различават.
// Дали може някой модератор да създаде една нова тема "Експерименти с матричен принтер" и да разчисти темата за Arduino ?


Титла: Re: Arduino SCADA
Публикувано от: BULFON в Apr 05, 2011, 15:58
Просто започнете нова тема и сложете препратка в края на тази.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 05, 2011, 21:44
То нали това бе проблема с компютъра, иначе ако се ползва ардуйното като порт, това моментално, под микросекунда, ще праща полученият байт на порт С    2 х 4 сигнала,


Титла: Re: Arduino SCADA
Публикувано от: laskov в Apr 05, 2011, 21:49
То нали това бе проблема с компютъра...
Ако има някакво забавяне/забързване, то ще се отрази на цялата работа на принтера и на движението и на двата мотора.


Титла: Re: Arduino SCADA
Публикувано от: victim70 в Apr 05, 2011, 22:21
Съжалявам за бруталния оффтопик, но гледам че тук сте се събрали хардуеристи. Някой тук занимавал ли се е с FPGA неща? Ако да - може ли да ме упъти кой kit е подходящ (баланса е цена/лесно като за начинаеш) - предполагам нещо на Altera/Xilinx? Има ли някакви варианти това да се програмира под линукс, защото като гледам разните VHDL симулатори/компилатори май са само уиндоус-базирани. Това се оказва от нещата, за които предварителният ми research удря много криво  на камък, намирам някакви доста противоречащи си матр'яли и неща които уж се водят нещо като въведения в материята но някак си ми изглеждат доста езотерично. Чувал съм че въобще не била чак такава философия да се програмират тези неща, но от това, което чета не съм особено убеден.
Ами препоръчвам ти Xilinx имат всичко под Линукс. Ако желаеш си проектирай собственна платка, но ти препоръчвам да си я купиш. Съществува сериозен проблем със спояването на схемата, ако я проектираш платката. Ще имаш проблем и с изравняването на сигналите на стартер китовете им. Имат стартери за всяка една фамилия така че избирай. Важно е за какво искаш да го ползваш - много.
И тука не са се събрали хардуеристи, щом се занимават с Ардуино - абсолютно кръжочна работа. Ако бяха щяха да си имат сериозни платки, проектирани от тях, със съответните буфери и съгласувани входове, или щяха да прочетат презентацията ми от преди няколко години на една от поредните конференции за да няма въпроси кое на колко и какво държи, и как се реализира периферия към контролер. Както и нямаше да дадат 60 кинта за нещо което е 20. Ако някой смята да се заяжда кое колко струва - срещу 60 кинта и получава контролер с RS 485, RS 232, 16 буферирани изхода за 1А, клеми 16 оптрона за входове. Така че нека думите са подкрепени с факти.
Scada е приложима за всякаква автоматизация, но трябва да се знае баланса, колко да е на компютъра и колко да е разпределено между устройствата. Нещо планирано за големи автоматизации става и за малки, разбира се.


Титла: Re: Arduino SCADA
Публикувано от: gat3way в Apr 05, 2011, 23:11
Мерси за съвета за xilinx-а.

Цитат
Ако желаеш си проектирай собственна платка, но ти препоръчвам да си я купиш

Мисля, че проектирането на собствена платка е далеч отвъд възможностите ми. Не съм особено хардуерно-ориентиран и с електрониката сме по-скоро на "ваше величество" :) Иначе идеята ми е да се опитам да реализирам md5 алгоритъма върху FPGA (колко неочаквано само :) ) - и го правя от чисто любопитство - искам да имам някаква идея от собствен опит доколко е сложно да се реализира, както и доколко е далавера като цена/енергоемкост сравнено с подобно решение върху GPU-та.


Титла: Re: Arduino SCADA
Публикувано от: bot в Apr 06, 2011, 00:56
...


Титла: Re: Arduino SCADA
Публикувано от: BULFON в Apr 06, 2011, 01:47
Аз нямам нищо против кръжоците.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 06, 2011, 14:26
avr-gcc

Когато чакаме РС- то да праща данни, ние трябва да ги получим и управляваме, ОС няма. Ако програмата ще работи с данните асинхронно, получава и праща, трябват ни ринг-буфери  тип FIFO – имаме данни да пратим, пращаме ги в някакъв сенд-буфер и забравяме /ако няма аларма де/, а в приемният буфер – теглим ако има,

https://github.com/arduino/Arduino/blob/master/hardware/arduino/firmwares/arduino-usbserial/Lib/LightweightRingBuff.h

Тези буфери, ако работят с UART и хардуерни прекъсвания ни разтоварват доста от мозъчна дейност,
 Serial.available(),  write(), read(), peek() проверяват и пишат/четат в ринг буферите, удобно, нещо.
Неудобното нещо е, че са е клас, което значи g++, порт, доста експериментален и голямата заслуга на Ардуйно е именно в това – вкара С++ в реалният AVR свят.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 06, 2011, 18:55
Малко избързвам, но това е за да сме полезни на kennedy

perl script и ардуйно скеч, после ще го обясним
http://www.jumpnowtek.com/index.php?option=com_content&view=article&id=67:arduino-serial-comm&catid=39:arduino&Itemid=76

при мен работи добре
termios e това, което ползат в proview за комуникации с Ардуйното, основните функции
личат добре в perl скрипта
Отваря се порта, после му се дават параметри на връзката.

apt-get install libdevice-serialport-perl

пп. при мен се налага след рестарт пъро да дам

 stty -F /dev/ttyUSB0 -hupcl 

иначе не ще

echo -n  "command .... "> /dev/ttyUSB0
също работи




Титла: Re: Arduino SCADA
Публикувано от: victim70 в Apr 06, 2011, 20:43
Мерси за съвета за xilinx-а.

Цитат
Ако желаеш си проектирай собственна платка, но ти препоръчвам да си я купиш

Мисля, че проектирането на собствена платка е далеч отвъд възможностите ми. Не съм особено хардуерно-ориентиран и с електрониката сме по-скоро на "ваше величество" :) Иначе идеята ми е да се опитам да реализирам md5 алгоритъма върху FPGA (колко неочаквано само :) ) - и го правя от чисто любопитство - искам да имам някаква идея от собствен опит доколко е сложно да се реализира, както и доколко е далавера като цена/енергоемкост сравнено с подобно решение върху GPU-та.
/off
Става, взимай малък стартер кит. Лесно се прави и е C подобно, ще се оправиш. Проблема е после. Изравняването на сигналите, да не се получи че 10 ns след фронт се сетват данни, или има наосекундни иглички, които са си пулс на входовете. Имай предвид обаче че са на ниски напрежения входовете 3.3 волта или по-ниски. Прецени как ще го използваш.
Съжалявам за бруталния оффтопик, но гледам че тук сте се събрали хардуеристи. Някой тук занимавал ли се е с FPGA неща? Ако да - може ли да ме упъти кой kit е подходящ (баланса е цена/лесно като за начинаеш) - предполагам нещо на Altera/Xilinx? Има ли някакви варианти това да се програмира под линукс, защото като гледам разните VHDL симулатори/компилатори май са само уиндоус-базирани. Това се оказва от нещата, за които предварителният ми research удря много криво  на камък, намирам някакви доста противоречащи си матр'яли и неща които уж се водят нещо като въведения в материята но някак си ми изглеждат доста езотерично. Чувал съм че въобще не била чак такава философия да се програмират тези неща, но от това, което чета не съм особено убеден.
Ами препоръчвам ти Xilinx имат всичко под Линукс. Ако желаеш си проектирай собственна платка, но ти препоръчвам да си я купиш. Съществува сериозен проблем със спояването на схемата, ако я проектираш платката. Ще имаш проблем и с изравняването на сигналите на стартер китовете им. Имат стартери за всяка една фамилия така че избирай. Важно е за какво искаш да го ползваш - много.
И тука не са се събрали хардуеристи, щом се занимават с Ардуино - абсолютно кръжочна работа. Ако бяха щяха да си имат сериозни платки, проектирани от тях, със съответните буфери и съгласувани входове, или щяха да прочетат презентацията ми от преди няколко години на една от поредните конференции за да няма въпроси кое на колко и какво държи, и как се реализира периферия към контролер. Както и нямаше да дадат 60 кинта за нещо което е 20. Ако някой смята да се заяжда кое колко струва - срещу 60 кинта и получава контролер с RS 485, RS 232, 16 буферирани изхода за 1А, клеми 16 оптрона за входове. Така че нека думите са подкрепени с факти.
Scada е приложима за всякаква автоматизация, но трябва да се знае баланса, колко да е на компютъра и колко да е разпределено между устройствата. Нещо планирано за големи автоматизации става и за малки, разбира се.

 /off колега, айде да не осираш темата на Иво, кой бил кръжочник и кой профи. Схемата, за която става дума е кит. Затова и изводите на процесора са директно изведени на куплунга. Между другото токът на изхода на този процесор е 40мА към нула и към захранване, което ако си запознат с материята,  както претендираш, си е сериозен ток за микроконтролер. Ако иска човек да буферира изхода най-добре е да го направи сам а не да купува твоите продукти. Нали за да се научи трябва да изгори това-онова. И айде обясни ми този твоя буфериран изход как да го обърнем на вход без да използваме допълнителен порт на контролера и дали може да стане за 2-3 инструкции време. Като толкова искаш да се изтъкнеш продължавай да си пишеш собствени статии/презентации. Освен това в темата на Иво става въпрос са SCADA системи и един много мощен продукт в което се убедих лично - ПроВю. Когато правим SCADA система използваме PLC и към него навързваме I/O модули, които управляваме по някакъв BUS (profi, mod ...). В много малко случаи PLC-to управлява една машина самостоятелно - по евтино е да подмениш модул или реле отколкото цял контролер.
Мисля че не аз правя реклама на продукт а ти като притежател на роботев. Както предлагаш платени естествено курсове и трябва да се говори за продуктите които предлагаш. За изгарянето на буфера има лечение и се нарича цокъл, и ток 40милиампера ще държи за сравнително кратко време. За тази цена ако разбираш (а ти много добре го разбираш) са само компонентите и транспорта без никаква печалба или нещо подобно защото мога да помогна, и то свободно без заплащане. Моля те организирай си курсовете и PR-а както го правят на други места - безплатно а печалбите са от продажбите.
 


Титла: Re: Arduino SCADA
Публикувано от: Acho в Apr 06, 2011, 21:23
/off @Victim70

Ама и bot ли е от Роботев ? Имаше тука преди време един друг ник, не се сещаm кой точно, и той пердашеше реклами да се пазари само от тях, не по други директни канали. И обясняваше, как те нищо не печелят, едва ли не НА ЗАГУБА ти го продават. На ползу роду, а не комерсиално.


Титла: Re: Arduino SCADA
Публикувано от: bot в Apr 06, 2011, 22:08
...
Мисля че не аз правя реклама на продукт а ти като притежател на роботев....

 Изобщо не съм този за който ме представяш. Дори не живея в България. Иначе е похвално че желаеш да помогнеш само дето лошо впечатление прави колко бързо определяш хората за аматьори.


Титла: Re: Arduino SCADA
Публикувано от: BULFON в Apr 07, 2011, 12:20
Темата си започна леко нефокусирана и, естествено, преля в "някаква" дискусия. Моля ви, уважавайте събеседниците си! Ако ви липсват личностните качества да общувате културно, сигурно вече сте го чували и от близки и познати и е добре да им повярвате вече.
Без да вземам страна в офтопика, факт е че кръжока "Линукс за българи" крета криво-ляво 11 години и представлява някакво лице за/на Линукс/FLOSS общността в България. Далеч по-умни и по-образовани хора започваха какво ли не за да заместят този кръжок, но скоро излизаше наяве я липсата на време, я невъзможността да работят с други хора, я любовта към бирата.
За да научиш и да помогнеш на хората се изискват далеч повече от конкретни познания и образование.
Отново искам да благодаря на тези, които успяват да запазят добрия и конструктивен тон.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 08, 2011, 18:41

 За Таймерите
В Ардуйно, чипа ATmega 328p (p - пикотехнолоджи, супер малка консумация при sleep режими) има таймерите
Т0 и Т2 - 8 битови , Т1 - 16 битов, всеки от с по два Compare Match сравняващи регистри, генератор на фармата, с по няколко прекъсвания, и много режими и конфигурации.
Wotchdog таймер с независим clock.
 
Що се отнася до RS485 , Ардуино няма проблем,  USART-та е с хардуерна подръжка  на многопроцесорна комуникация / среди дали е адресиран, или пък праща адрес /
Проблема е РС-то, няма евтина платка за  RS485, но пък и не е нужен. RS232 -са през USB е виртуален, лишен е от всички недостатъци на физическият RS232. А пък самият RS232 и RS485 ако са през един и същи физически носител ще имат еднакви данни. "Магията" на RS485-а е усукана и изолирана двойка, и токово предаване, неща общоприети вече.

http://www.chip45.com/info/chip45boot2.html

http://www.chip45.com/CrumbControl-AVR-input-output-push-pull-relais-USB-RS485-control-modules/CrumbControl-1-Atmel-AVR-ATmega128-Module-Board-Push-Pull-Driver-Output-Isolated-Digital-Analog-Input-Relais-Relais-USB-RS485.html
Впрочем новите ардуновци скъсват с  RS232 и минават напълно на USB, там има много хляб, дори маунтване на флаш паметта ... ще видим.
Тук говорим за Ардуйно като нарицателно, всичко казано се отнася 100% и за тия платки.
http://www.chip45.com/AVR-Xmega-Microcontroller-Modules/CrumbX128A3-V1-2-AVR-ATxmega128A3-USB-RS485-micro-sd-card-module.html

 А такива модули е по хубаво да се купят в тоя вид, трудно е готовото да пасне на нашия случай. И да го куплираме с периферията.
 


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 11, 2011, 14:28
Таймер1 -прикачени файлове
-----------------------------
Ардуйно ботлоудер
Ардуйно има ботлоудер, програма, която се стартира при Reset ( драйвера при отварянето на порта  издава сигнал, който се ползва за reset).
За този ботлоудер е характерно, че е специална секция от флаш паметта, bootloader section, от която инструкциите за запис във флаша са валидни. Това е валидно, кокто и цялата боот секкциа, размера и, правата и и т.н.) при специално установяване на така наречените FUSES, фюзове, и лок битове. Те могат да се програмират с програматор, но не и от ботлоудера.
Сорса на ботлоудера обяснява странното поведение, когато ние пращаме нещо, и очакваме отговор.
#define MAX_ERROR_COUNT 5
   for (;;) {
   /* get character from UART */
   ch = getch();
   /* Hello is anyone home ? */
   if(ch=='0') {...   
   else if(ch=='1') {...
   /* AVR ISP/STK500 board commands  DON'T CARE so default nothing_response */
   else if(ch=='@') {
   /* AVR ISP/STK500 board requests */
   else if(ch=='A') {      
   else if(ch=='B') {
   /* Parallel programming stuff  DON'T CARE  */
   else if(ch=='E') {
   /* P: Enter programming mode  */
   /* R: Erase device, don't care as we will erase one page at a time anyway.  */
   else if(ch=='P' || ch=='R') {   
   /* Leave programming mode  */
   else if(ch=='Q') {
   /* Set address, little endian. EEPROM in bytes, FLASH in words  */   
   else if(ch=='U') {
   /* Universal SPI programming command, disabled.  Would be used for fuses and lock bits.  */
   else if(ch=='V') {
   /* Write memory, length is big endian and is in bytes  */
   else if(ch=='d') {
   /* Read memory block mode, length is big endian.  */
   else if(ch=='t') {
   /* Get device signature bytes  */
   else if(ch=='u') {
   /* Read oscillator calibration byte */
   else if(ch=='v') {
#if defined MONITOR
   /* here come the extended monitor commands by Erik Lins */
   /* check for three times exclamation mark pressed */
   else if(ch=='!') {
      ch = getch();
      if(ch=='!') {
      ch = getch();
      if(ch=='!') {
         PGM_P welcome = "";      /* end of monitor */

#endif
   else if (++error_count == MAX_ERROR_COUNT) {
      app_start();
Та ако искаме да се отървем от излишните символи, първо трябва да пратим някакви символи   които да прескочат ботлоудера, после нашата прогграма да си изчисти USART-a и прочие   
На адрес 0х0000 от флаш паметта е записаната от ботлоудера програма, самият ботлоудер е в началото на boot loader flash секция. BOOTRST fuse определя към коя секция сочи вектора reset.
Затова функцията app_start() е преход към приложението
void (*app_start)(void) = 0x0000;
Нашето приложение трябва да инициализира нанаво стека и почти всичко, за да сме сигурни.
Ботлоудер може да е всяка наша програма, компилирана с директивата за линкера  --section-start=.text=0x7800 /ако сме установили 2к бот секция/ това може да се види в
arduino/hardware/arduino/bootloaders/atmega/Makefile
командата за програматора обаче е за друг случай – програмиране от програматор, за запис през ботлоудера ползваме
avrdude  -pm328p -carduino -P/dev/ttyUSB0 -b57600   -Uflash:w:my_prg.hex:a


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 16, 2011, 22:26
Минипроектче, което работи.
В него не се ползва изобщо ардуйно средата и софтуера, а част от подобно на ардуйното функцйите съм пренаписал на Си, така че да са независими и леки.
Инициализация на USART-a,
символите се приемат от хардуерно прекъсване и се слагат в ринг - буфер. Основната програма чете от този буфер независимо.
Идеята е, с #include"serial.h" да се включи всичко нужно за комуникация, без да се товарим с код и ненужни неща, мисля и за другите неща да напиша такива "framework" -ове... 


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в Apr 23, 2011, 13:01
-Описание на digitalRead() и защо не трябва да се ползва за production система
-----------------
Версия V 0.2-2 на mini PAFW кода Proview - Arduino Frame Work - прикачена
-----------------
 New - Version -mini PAFW 0.3  Working and test are  Digital Outputs and Analog Inputs
-------------------------------
Версията на мини Proview-Arduino-FrameWork  e вече 0.3 и може да се ползва, а не съм описал как и защо.
Как – с Eclipse инсталирал съм плагините за avr и документация.

http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin
 http://home.gna.org/eclox/

Проекта може да го имортирате  в  Eclipse
File ->Import -> existing Eclipse projects...
Записа в платката пак през Eclipse
AVR - > Upload Project to Target Device
като сме задали на AVRDude ( Project - > Properties ->AVRDude )
avrdude -carduino -P/dev/ttyUSB0 -b57600  ---
baud rate 57600 , програматор arduino, device /dev/ttyUSB0 ...


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в May 04, 2011, 22:03
Версията на мини Proview-Arduino-FrameWork   0.4, тесвал съм изходни и входни  аналогови и изходни цифрови, входните цифрови би трябвало да са ОК. Опростена, насочена за PROVIEW и за добавяне PLC код в Arduino.


Титла: Re: Arduino SCADA
Публикувано от: ivo1204 в May 19, 2011, 01:26
добавено - Кода като Ардуно скеч .pde
добавено -  QT проект за тест  и работа с Arduino - Proview



Титла: Re: Arduino SCADA
Публикувано от: laskov в Sep 24, 2011, 11:58
Проектът Arduino представи платка с ARM процесор ($2)


Титла: Re: Arduino SCADA
Публикувано от: GB_bg в Oct 23, 2011, 22:48
Здравейте ,
Винаги стигам до една и съща грешка и не знам от какво се получава