Hi Julian, but we got to get more IT guys interested in the project so we can grow the number of people working on PLC4X. The OT guys might be more important to you, but I would really like to have more IT guys active here.
With the new generated drivers creating unit tests for parsing and serialization is handled by the new unit-test framework which I built for it and with the Pcap channel at least it should be pretty easy to whip up some integration tests based on real captures. At least that's how I'm doing it for BACnet. I wouldn't want to put too much efforts into building test-tools for the old drivers unless it's a universal thing that works for the old and the new drivers. We currently have so many things to do and so little people actually doing them... sometimes it's more like reading coffee grounds on knowing which sorting is the best. I agree that I was fighting too many fights in parallel which also makes it hard for observers to grasp what I'm currently up to. Therefore will try to focus, get one thing done at a time and then continue with the next (Bugfixes getting higher priority though). So I will continue building at least a S7 Server with a rudimentary Simulation. I would add the Testsuite to the proposed Backlog and tackle that after that. Chris Am 16.10.19, 10:26 schrieb "Julian Feinauer" <j.feina...@pragmaticminds.de>: Hi all, I welcome the PLC Simulator discussion here and I think this can be a helpful tool. BUT we have to remember that in the end the OT community is more important for us than the IT community (as those are the people operating the PLCs and Machines). So I think it’s a good idea to provide such a Simulator to help to onboard people but we have to think of a way to do TONS of integration tests against regular PLCs to ensure robustness and avoid bugs. Julian Am 16.10.19, 09:38 schrieb "Christofer Dutz" <christofer.d...@c-ware.de>: Hi Lukas, my colleagues here at codecentric recently did some searching for simulated PLCs. They were writing a blog post about the PLC4X Logstash integration and needed something to produce test-data. To make it short: They were very unhappy with what they found. In the end I think they used some opc-ua simulator. For some you needed to actually write projects for the PLC with for example TIA as they simulate being a real PLC ;-) Most of them simulate being PLCs but lack the communication options (Most of them only support Modbus and OPC-UA) If I look at the open-plc thingy you reference ... that is good to learn to program PLCs. The editor looks as if you could learn this (from a IT developer's point of view) little strange way of writing programs for PLCs. From the documentation it only supports Modbus. We want to build something to help learn writing PLC4X software, not to write software running on PLCs ... especially to learn writing software for the different protocols PLC4X supports. Perhaps "PLC simulator" is sort of a bad name as we wouldn't even try simulate being a real PLC. It's more intended to be a mock PLC for training purposes. So I was hoping to have multiple protocol servers running on multiple fixed simulations and writing how-tos and perhaps even videos and Trainings on how to use PLC4X based on these very fixed scenarios but using varying protocols. I think this is what I currently hear most as being the missing piece of getting started with PLC4X. And I found out that it's a mega-awesome testcase for our generated drivers :-) Being able to use the old hand written drivers to communicate with the generated servers already helped with getting the generated s7 driver into shape Chris Am 16.10.19, 08:16 schrieb "Lukas Ott" <ott.lukas...@gmail.com>: Hi all, That would fit to https://www.openplcproject.com/ as the Runtime is using MODBUS.... Maybe ask https://github.com/thiagoralves if we just could with his https://www.openplcproject.com/plcopen-editor ? The major question is it easier to collaborate and leverage the project? or check the relevant licences and work together? Lukas Am Mi., 16. Okt. 2019 um 07:46 Uhr schrieb Christofer Dutz < christofer.d...@c-ware.de>: > Hi Cesar, > > No they wouldn't. They would be exposed to the server implementation and > the ui. > > The thing is that the above structure s7 could probably automatically > translate into s7 addresses. However for Modbus an explicit mapping is > required (sort of mirroring reality with real plcs). > > I was thinking that perhaps the server/protocol would provide the means to > map the context into their address space (extra editor) and that the ui for > displaying the current context values, could have a column per installed > server, with plc4x addresses for addressing these resources. > > Just me brainstorming.... > > Chris > > Holen Sie sich Outlook für Android<https://aka.ms/ghei36> > > ________________________________ > From: Cesar Garcia <cesar.gar...@ceos.com.ve> > Sent: Wednesday, October 16, 2019 4:44:30 AM > To: Apache PLC4X <dev@plc4x.apache.org> > Subject: Re: [PLC-Simulator] Thoughts on the "Context" for our simulator > > Hi Christofer, > > How would these data structures be exposed to the user? An API? Or a > service? > > A simple way to see it would be to have the PLC data structures (DB, PEW, > M, etc.) as instances of ByteBuf from the Netty library. > > Best regards, > > El mar., 15 oct. 2019 a las 8:55, Christofer Dutz (< > christofer.d...@c-ware.de>) escribió: > > > Hi all, > > > > While implementing the S7Server part I noticed that my HelloPlc4x config > > is always set to get the values of the inputs and the outputs and not the > > internal memory of the S7 > > > > So this got me thinking … just having a Map<String, Object> as context > > might not be enough to really play around. > > > > For a S7 I would assume a context should be: > > > > * Map<String, Object> (Sorted map with an explicit order such as a > > TreeMap) > > * List<Input<Boolean>> (Digital Inputs) > > * List<Input<Long>> (Analog Inputs) > > * List<Output<Boolean>> (Digital Outputs) > > * List<Output<Long>> (Analog Outputs) > > > > Should this be enough for a somewhat realistic simulation? > > > > I know for Modbus there is not automatic mapping of any form of context & > > IO to the Modbus Coils (Boolean) and Registers (Short) > > But for the rest I do think that a PLC has the concept of an input and > > output and these in flavors: Analog and Digital. > > > > I know that my PLC knowledge is somewhat theoretical. You guys at least > > some of you work with them every day. So I would appreciate your input. > > > > Chris > > > > > -- > *CEOS Automatización, C.A.* > *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,* > *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,* > > *FRENTE A LA ASOCIACION DE GANADEROS,BARCELONA,EDO. ANZOATEGUI* > *Ing. César García* > *Cel: 0416-681.03.99* > > *Cel: 0414-760.98.95* > > *Hotline Técnica SIEMENS: 0800 1005080* > > *Email: support.aan.automat...@siemens.com > <support.aan.automat...@siemens.com>* >