Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Eigen Basic binnen Visual Basic

Pagina: 1
Acties:

  • swets
  • Registratie: April 2008
  • Laatst online: 16-11 12:29
Ik heb vrij veel electronica aan me computer hangen (in en outputs...)

en nu zoek ik eigenlijk informatie over hoe je een eigen basic, scripttaal, functie blokken taal of bijvoorbeeld ladder achtige taal zelf zou kunnen maken binnen in je visual basic programma?

iemand enig idee? of leuke links?

Alvast bedankt!!

http://www.arjan-swets.com


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Waarom zou je dat willen? :? Als je het per se wil zou je een soort van parser kunnen schrijven die je eigen taaltje omzet naar VB-code maar dat gaat verre van snel zijn of lekker werken. Wat schiet je daarmee op?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 01-11 22:03

leuk_he

1. Controleer de kabel!

Hoe je basic zou kunnen schrijven:

https://sites.google.com/site/smallbasicinterpreters/

deze is geschreven in visual basic:

http://ajlopez.wordpress....e-basic-like-interpreter/

@NME... uiteraard "omdat het kan " ;)

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Niet alleen omdat het kan, in principe leent Ladder zich prima voor een DSL oplossing. Of VB een goede basis is om het in te maken, denk het op zichzelf wel.

Nu hebben ik geen ervaring ansicht met Ladder, maar het klinkt als een redelijk beperkte taal die in principe nog wel om te zetten zou moeten zijn naar een tokenstream en vervolgens linear de tokens afwerkt. Het wordt pas leuker en lastiger op het moment dat je meerdere processen parallel gaat lopen lopen en interactie met elkaar laat hebben.

Driving a cadillac in a fool's parade.


  • swets
  • Registratie: April 2008
  • Laatst online: 16-11 12:29
NMe schreef op dinsdag 05 augustus 2014 @ 14:49:
Waarom zou je dat willen? :? Als je het per se wil zou je een soort van parser kunnen schrijven die je eigen taaltje omzet naar VB-code maar dat gaat verre van snel zijn of lekker werken. Wat schiet je daarmee op?
tja waarom, nou in de software moet ook iets komen van visualisatie enzo... maar zou zo maar leuk zijn om in een soort eigen taal die electronica aan te sturen, en dat je dat dan kan save, enz enz....

vooral om er wijzer van te worden..... is dat een goede reden....?

hoeft niet echt basic te worden, iets met AND en OR poortjes... zou ook leuk zijn....

verlopig heb ik nog geen idee hoe ik moet beginnen.. :-)

http://www.arjan-swets.com


  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 20-11 12:36

ZaZ

Tweakers abonnee

Ik snap de vraag niet helemaal misschien, maar ben je niet opzoek naar iets als de CodeDOM compiler?
MSDN: Generating and Compiling Source Code from a CodeDOM Graph
Kan je @runtime stukken c# of vb code (o.a in memory) compilen en uitvoeren, mee communiceren etc.

Lekker op de bank


  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 02:56

Tribits

Onkruid vergaat niet

Ik heb er zelf geen ervaring mee maar zou MBLogic misschien iets voor je zijn? Het richt zich zo te zien voornamelijk op visualisatie maar bevat ook een volledig eigen softPLC en programmeertaal. Belangrijkste probleem zal wel zijn om je eigen elektronica zo ver te krijgen dat het communiceert met MBLogic.

Master of questionable victories and sheer glorious defeats


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Kijk eens naar Lua; dat is bedoeld om te embedden en heeft .Net bindings.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

^^ dat dus. Begrijp me niet verkeerd, zelf een scripttaal bouwen zal best leuk zijn en is sowieso leerzaam, maar juist op embedded systemen heb je doorgaans niet echt de ruimte om nog een extra zelfgemaakte laag tussen je code en de processor te proppen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • swets
  • Registratie: April 2008
  • Laatst online: 16-11 12:29
bedankt allemaal, ik ga het eens bestuderen....

http://www.arjan-swets.com


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Je komt duidelijk vanuit de hardware hoek. De normale method is dat je binnen Visual Basic je Eigen functies definieert om iets te doen. Niet een complete eigen taal binnen een taal.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Basti504
  • Registratie: Februari 2005
  • Laatst online: 21-11 12:13

Basti504

Niet de enige, wel de echte.

swets schreef op dinsdag 05 augustus 2014 @ 15:10:
[...]


tja waarom, nou in de software moet ook iets komen van visualisatie enzo... maar zou zo maar leuk zijn om in een soort eigen taal die electronica aan te sturen, en dat je dat dan kan save, enz enz....

vooral om er wijzer van te worden..... is dat een goede reden....?

hoeft niet echt basic te worden, iets met AND en OR poortjes... zou ook leuk zijn....

verlopig heb ik nog geen idee hoe ik moet beginnen.. :-)
Als ik dit lees wil je soort ladder editor gaan maken die met jou hardware kan praten. En hierdoor kun je in je ladder editor visueel de status van je IO weergeven?

Zoals hieronder is weergegeven, contacten met groene omlijning zijn een logische 1 en zonder een logische 0?

Afbeeldingslocatie: http://www.engineer-and-technician.com/wp-content/uploads/2012/10/How-To-Troubleshoot-With-A-PLC-RSLogix-500-5000-2.jpg
RSLogix 500

...


  • swets
  • Registratie: April 2008
  • Laatst online: 16-11 12:29
Ik weten niet of er mensen zijn die nog van het bestaan weten?, maar vroeger had je het Uniface systeem van PTCC ( Philips Thuis Computer Club)

dit systeem bestond uit een computer deel, welke je had voor MSX, P2000, Commodore 64/128 en een Isa kaart voor de PC... (ja ISA, zo lang geleden.... :-) )

uit dat computerdeel kwam een lintkabel, waar je connectors op kon persen. En in die connectors kon je dan buiten delen zetten. er waren kaartjes met 8 inputjes,8outputjes , adc 8 bits, adc 12 bits, dac 8bits en een dac12 bits...

Ik ben begonnen met dit systeem op de MSX, en later op de PC... en dat vond ik toen ook het leuke van het systeem.

elk kaartje had een adres, en je kon 255 input en 255 output kaartjes aan de computer hangen....

Nu heb ik pas 2 nieuwe kaartjes gemaakt... Een computerdeel voor de PC, welke via USB werkt...
en ik heb bijvoorbeeld een buitendeel gemaakt, een kaartje waarmee je 8 RC servo kan besturen...

http://msx.hansotten.com/index.php?page=ptc-uniface (meer info over het vroegere Uniface)

Het allemaal aansturen gewoon via visual basic werkt prima....

Maar wat me leuk lijkt, en daar ging mij vraag dus eigenlijk over.... Een soort van IDE maken rondom dit systeem....

dus iets van een Editor, waarmee je in kan stellen welke kaarten er aan hangen , plus de bij hoorde adressen....

iets van schermen waar mee je de I/O zou kunnen vieuwen....

en iets van een taal ( dus hoef niet Basic te zijn.... mag ook zoiets als ladder zijn) om eigen programmaatjes te schrijven, en te laten runnen in die IDE..en natuurlijk kunnen laden en save....

en waarom..... ja waarom niet... je moet toch iets te hobby-en hebben...

[ Voor 3% gewijzigd door swets op 14-08-2014 09:09 ]

http://www.arjan-swets.com


  • Tribits
  • Registratie: Augustus 2011
  • Laatst online: 02:56

Tribits

Onkruid vergaat niet

swets schreef op donderdag 14 augustus 2014 @ 09:04:
Ik weten niet of er mensen zijn die nog van het bestaan weten?, maar vroeger had je het Uniface systeem van PTCC ( Philips Thuis Computer Club)

dit systeem bestond uit een computer deel, welke je had voor MSX, P2000, Commodore 64/128 en een Isa kaart voor de PC... (ja ISA, zo lang geleden.... :-) )

uit dat computerdeel kwam een lintkabel, waar je connectors op kon persen. En in die connectors kon je dan buiten delen zetten. er waren kaartjes met 8 inputjes,8outputjes , adc 8 bits, adc 12 bits, dac 8bits en een dac12 bits...

Ik ben begonnen met dit systeem op de MSX, en later op de PC... en dat vond ik toen ook het leuke van het systeem.

elk kaartje had een adres, en je kon 255 input en 255 output kaartjes aan de computer hangen....

Nu heb ik pas 2 nieuwe kaartjes gemaakt... Een computerdeel voor de PC, welke via USB werkt...
en ik heb bijvoorbeeld een buitendeel gemaakt, een kaartje waarmee je 8 RC servo kan besturen...

http://msx.hansotten.com/index.php?page=ptc-uniface (meer info over het vroegere Uniface)
Ik ken het specifieke project/systeem niet maar weet wel dat dergelijke projectjes in die tijd vrij gebruikelijk waren. Daar is in de jaren 90 flink de klad in gekomen omdat de nieuwe bus systemen in tegenstelling tot de ISA bus veel minder geschikt waren om zelf kaarten voor te ontwerpen. Volgens mij vooral doordat de frequenties omhoog gingen, er complexere decoders nodig waren en omdat het zelf maken van kaarten voor de MCA/EISA bus fysiek een stuk lastiger was. Ik denk dat de meeste hobbyisten tegenwoordig kiezen voor microcontrollers als de Arduino. Maar goed, ik begrijp dus dat jouw elektronica dus direct (via USB) aan de PC hangt.
Het allemaal aansturen gewoon via visual basic werkt prima....

Maar wat me leuk lijkt, en daar ging mij vraag dus eigenlijk over.... Een soort van IDE maken rondom dit systeem....

dus iets van een Editor, waarmee je in kan stellen welke kaarten er aan hangen , plus de bij hoorde adressen....

iets van schermen waar mee je de I/O zou kunnen vieuwen....

en iets van een taal ( dus hoef niet Basic te zijn.... mag ook zoiets als ladder zijn) om eigen programmaatjes te schrijven, en te laten runnen in die IDE..en natuurlijk kunnen laden en save....

en waarom..... ja waarom niet... je moet toch iets te hobby-en hebben...
Zoals Basti504 ook al aangeeft is een ladder diagram waarschijnlijk de meest voor de hand liggende oplossing in dit geval.

Zelf programmeren van een omgeving waarin je ladder kunt programmeren en daar een bijbehorende 'interpreter' voor schrijven lijkt me echter een behoorlijk pittige klus. De meeste pakketten die dat soort functionaliteit bieden zijn behoorlijk complex, prijzig en specifiek voor bepaalde PLC hardware. Ik heb in het verleden wel eens zijdelings wat gehoord over het team dat deze software voor Mitsubishi ontwikkelde en dat vormde toch wel een behoorlijke uitdaging.

Maar goed, het zal er ook wel van afhangen hoe ingewikkeld je het wilt maken. Ik denk dat je in ieder geval wel behoorlijk wat programmeerervaring nodig hebt en daarnaast natuurlijk wat kennis van de interne werking van een (soft) PLC systeem. Ladder wordt voor zover ik weet in de praktijk omgezet naar een soort van machine code die daarna door een VM wordt uitgevoerd. Aangezien ladder eigenlijk een declaratieve taal is werkt dat uitvoeren wat anders dan bij een imperatieve taal. Alle instructies worden uitgevoerd op basis van de status van de in- en uitgangen waarna vervolgens alle uitgangen gelijk geupdate worden met de resultaten.

De PLC systemen die ik ken mappen de I/O modules naar een range in de I/O map. Module 6 met digitale ingangen komt dan bijvoorbeeld op I80-I99, module 7 met uitgangen op O20-O27. Zoiets kan je voor je eigen elektronica ook maken om een eenvoudige abstractie laag tussen de hardware en software aan te brengen.

Als je visueel wilt programmeren zal je dus naast de eerder genoemde VM een editor nodig hebben en functionaliteit om het grafische ladder diagram om te zetten naar de interne instructies voor de VM.

Op zich zullen er ongetwijfeld om iets soortgelijks te bereiken maar dit is een beproefde manier van werken die volgens mij door redelijk wat PLC systemen wordt gebruikt.

Master of questionable victories and sheer glorious defeats


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-11 18:33
Volgens de tweede post hier http://control.com/thread/1286361303 zijn er best wel dingen gemaakt al die je misschien zou kunnen gebruiken.

Alhoewel LD best veel gebruikt wordt zie je toch dat er een verschuiving plaatsvindt naar bijvoorbeeld SCL omdat deze taal beter de mogelijkheden van moderne automation hardware dekt. Misschien dat nu de oude S5 rotten in het vak een voor een omvallen er eindelijk eens wat vaart komt in de modernisering van de technische automatisering :P

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1