Re: [VOTE] Create plc4x-extras repository

2024-03-23 Thread Cesar Garcia
+1

El sáb, 23 mar 2024 a las 12:48, Christofer Dutz ()
escribió:

> We would like to create a new git-repository “plc4x-extras” that will
> contain the integration modules as well as the examples.
>
> Please vote +1 if you are in favor of creating this repository and moving
> things from the main repository.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: AW: [DISCUSS] What do we want to look into/talk about on the Meetup/Workshop?

2024-03-21 Thread Cesar Garcia
Hello,

I agree with Lukasz proposal to include OSGi in the discussion as the
runtime.

+1

Specifically, it would be interesting to evaluate the sections

103.- Device Access Specification.
141.- Device Abstraction layer Specification.

Kind regards,

El jue, 21 mar 2024 a las 14:33, Łukasz Dywicki ()
escribió:

> I can add one more:
>
> - Support for OSGi as a potential project runtime.
>
> It is a technology which is still popular for various applications
> running on the edge.
> @Cesar, I know you use it, pulling you into thread so you can also share
> your point in this regard.
>
> I do maintain a separate repository [1] with hand written karaf feature
> sets. I do so to avoid large duplication of dependencies between
> drivers, as generated feature sets are quite dumb.
> I did it initially to make 0.6 and 0.8 release work with openHAB, after
> seeing recent updates from 0.11 release I think we have most of stuff in
> place to make it work.
> One missing concept is a classloader propagation so whole thing would
> work without Aries Spifly in other down stream projects, i.e. openems.
>
> Cheers,
> Łukasz
>
> --
> [1] https://github.com/ConnectorIO/plc4x-extras/
>
> On 21.03.2024 14:39, Christofer Dutz wrote:
> > Possibly worth adding:
> > - Refactor the OPC-UA test-suite to run as Integration-Test in the build
> and to rely on a Milo server started in the pre-integration-test phase and
> which is stopped in the post-integration-test-phase.
> >
> > Von: Lukas Ott 
> > Datum: Montag, 18. März 2024 um 11:51
> > An: dev@plc4x.apache.org 
> > Betreff: Re: [DISCUSS] What do we want to look into/talk about on the
> Meetup/Workshop?
> > Mine are much simpler:
> > - Merge my pull request
> >  * https://github.com/apache/plc4x/pull/1419 should be 5-10 minutes
> with
> > Sebastian.
> > - Go through PLC4PY with Ben and get things running on my side
> >* Add Pip Package to https://pypi.org/ including release integration
> etc.
> >* What is missing for PLC4Py to get out of the sandbox?
> >* Find little tasks where I can start and not overwhelmed as one
> of
> > the rare-non developers in that project.
> > - Look into what you (Chris) did with ReactJS on the UI branch and get
> that
> > running
> >
> > For the rest I am giving a +1 for your points.
> >
> > Lukas
> >
> > Am Mo., 18. März 2024 um 11:17 Uhr schrieb Christofer Dutz <
> > christofer.d...@c-ware.de>:
> >
> >> Here some things I have on my mind:
> >>
> >>
> >>*   Road to 1.0.0 (What’s still missing?)
> >>*   Generating larger portions of the code (Mesasages &
> Request+Response)
> >>*   Missing features:
> >>   *   Optimizer Framework (Optimize requests, by rewriting them)
> >>   *   Subscription Emulation (General purpose component, that uses
> the
> >> READ api to simulare subscriptions)
> >>   *   New/Advanced Scraper (Rewrite of the Scraper, that allows
> things
> >> like “read, triggered by subscription”)
> >>*   How can we distribute the workload a bit better?
> >>*   How can we grow the community?
> >>
> >> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: UI Branch

2024-03-21 Thread Cesar Garcia
A few years ago I wrote about that concept,

If you visit the blog, But there are many details. The technologies have
changed, but in general the needs are the same,

http://glcj.blogspot.com/

I should restart the blog,

Best regards,




El jue, 21 mar 2024 a las 12:31,  escribió:

> I see...
>
> Are you sure you wanna go with gRPC or Apache Karaf as Backend? Can you
> elaborate on this? Why not websockets builtin in plc4x?
>
> Best regards
>
> -
> Coding Nexus LLC
> Björn Haverland
> 2880W Oakland Park Blvd
> Suite 225C
> Oakland Park
> 33311 Florida
>
> Tel: +1 954 607 2347
>
> bjo...@coding-nexus.com
> https://www.coding-nexus.com
>
>
> -Ursprüngliche Nachricht-
> Von: Cesar Garcia 
> Gesendet: Donnerstag, 21. März 2024 17:17
> An: dev@plc4x.apache.org
> Betreff: Re: UI Branch
>
> Hello,
>
> I took the flag raised by Chris regarding the UI, and we are evaluating
> the different technologies, the idea is to keep things as simple as
> possible (I think).
>
> For the frontend
>
> 1. qooxdoo.
> 2. Apache Echarts.
>
> For the backend
>
> 3. gRPC
> 4. Apache Karaf (Merlot).
>
> I'm going to try to make a demo for the work team on Saturday, against the
> clock, but I'll do my best.
>
> Kind regards,
>
> El jue, 21 mar 2024 a las 12:07,  escribió:
>
> > I’m splitting the topic, I read something about an UI Branch, where
> > can I find it? Is there a particular reason why ReactJS? What is it
> > supposed to be? A unified UI library for all supported plc?
> >
> > So many questions 
> >
> >
> >
> > I had an idea of using plc4j add a websocket API and use vueJS (I’m
> > using vue in several projects, have only little experience with React)
> > to export a simple UI library. This way a UI would be very portable
> > across many platforms.
> >
> > Is the ReactJS Branch a similar approach?
> >
> >
> >
> > Best regards
> >
> >
> >
> > Björn
> >
> >
> >
> >
> >
> > Gesendet von Outlook für Android <https://aka.ms/AAb9ysg>
> >
> >   _
> >
> > From: Christofer Dutz 
> > Sent: Thursday, March 21, 2024 1:39:11 PM
> > To: dev@plc4x.apache.org 
> > Subject: AW: [DISCUSS] What do we want to look into/talk about on the
> > Meetup/Workshop?
> >
> >
> >
> > Possibly worth adding:
> > - Refactor the OPC-UA test-suite to run as Integration-Test in the
> > build and to rely on a Milo server started in the pre-integration-test
> > phase and which is stopped in the post-integration-test-phase.
> >
> > Von: Lukas Ott 
> > Datum: Montag, 18. März 2024 um 11:51
> > An: dev@plc4x.apache.org 
> > Betreff: Re: [DISCUSS] What do we want to look into/talk about on the
> > Meetup/Workshop?
> > Mine are much simpler:
> > - Merge my pull request
> > *  <https://github.com/apache/plc4x/pull/1419>
> > https://github.com/apache/plc4x/pull/1419 should be 5-10 minutes with
> > Sebastian.
> > - Go through PLC4PY with Ben and get things running on my side
> >   * Add Pip Package to  <https://pypi.org/> https://pypi.org/
> > including release integration etc.
> >   * What is missing for PLC4Py to get out of the sandbox?
> >   * Find little tasks where I can start and not overwhelmed as one
> > of the rare-non developers in that project.
> > - Look into what you (Chris) did with ReactJS on the UI branch and get
> > that running
> >
> > For the rest I am giving a +1 for your points.
> >
> > Lukas
> >
> > Am Mo., 18. März 2024 um 11:17 Uhr schrieb Christofer Dutz <
> > christofer.d...@c-ware.de>:
> >
> > > Here some things I have on my mind:
> > >
> > >
> > >   *   Road to 1.0.0 (What’s still missing?)
> > >   *   Generating larger portions of the code (Mesasages &
> > Request+Response)
> > >   *   Missing features:
> > >  *   Optimizer Framework (Optimize requests, by rewriting them)
> > >  *   Subscription Emulation (General purpose component, that uses
> the
> > > READ api to simulare subscriptions)
> > >  *   New/Advanced Scraper (Rewrite of the Scraper, that allows
> things
> > > like “read, triggered by subscription”)
> > >   *   How can we distribute the workload a bit better?
> > >   *   How can we grow the community?
> > >
> > > 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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: UI Branch

2024-03-21 Thread Cesar Garcia
Hello,

I took the flag raised by Chris regarding the UI, and we are evaluating the
different technologies, the idea is to keep things as simple as possible (I
think).

For the frontend

1. qooxdoo.
2. Apache Echarts.

For the backend

3. gRPC
4. Apache Karaf (Merlot).

I'm going to try to make a demo for the work team on Saturday, against the
clock, but I'll do my best.

Kind regards,

El jue, 21 mar 2024 a las 12:07,  escribió:

> I’m splitting the topic, I read something about an UI Branch, where can I
> find it? Is there a particular reason why ReactJS? What is it supposed to
> be? A unified UI library for all supported plc?
>
> So many questions 
>
>
>
> I had an idea of using plc4j add a websocket API and use vueJS (I’m using
> vue in several projects, have only little experience with React) to export
> a simple UI library. This way a UI would be very portable across many
> platforms.
>
> Is the ReactJS Branch a similar approach?
>
>
>
> Best regards
>
>
>
> Björn
>
>
>
>
>
> Gesendet von Outlook für Android 
>
>   _
>
> From: Christofer Dutz 
> Sent: Thursday, March 21, 2024 1:39:11 PM
> To: dev@plc4x.apache.org 
> Subject: AW: [DISCUSS] What do we want to look into/talk about on the
> Meetup/Workshop?
>
>
>
> Possibly worth adding:
> - Refactor the OPC-UA test-suite to run as Integration-Test in the build
> and to rely on a Milo server started in the pre-integration-test phase and
> which is stopped in the post-integration-test-phase.
>
> Von: Lukas Ott 
> Datum: Montag, 18. März 2024 um 11:51
> An: dev@plc4x.apache.org 
> Betreff: Re: [DISCUSS] What do we want to look into/talk about on the
> Meetup/Workshop?
> Mine are much simpler:
> - Merge my pull request
> *  
> https://github.com/apache/plc4x/pull/1419 should be 5-10 minutes with
> Sebastian.
> - Go through PLC4PY with Ben and get things running on my side
>   * Add Pip Package to   https://pypi.org/ including
> release integration etc.
>   * What is missing for PLC4Py to get out of the sandbox?
>   * Find little tasks where I can start and not overwhelmed as one of
> the rare-non developers in that project.
> - Look into what you (Chris) did with ReactJS on the UI branch and get that
> running
>
> For the rest I am giving a +1 for your points.
>
> Lukas
>
> Am Mo., 18. März 2024 um 11:17 Uhr schrieb Christofer Dutz <
> christofer.d...@c-ware.de>:
>
> > Here some things I have on my mind:
> >
> >
> >   *   Road to 1.0.0 (What’s still missing?)
> >   *   Generating larger portions of the code (Mesasages &
> Request+Response)
> >   *   Missing features:
> >  *   Optimizer Framework (Optimize requests, by rewriting them)
> >  *   Subscription Emulation (General purpose component, that uses the
> > READ api to simulare subscriptions)
> >  *   New/Advanced Scraper (Rewrite of the Scraper, that allows things
> > like “read, triggered by subscription”)
> >   *   How can we distribute the workload a bit better?
> >   *   How can we grow the community?
> >
> > 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: S7 types supporting Subscriptions

2024-03-15 Thread Cesar Garcia
Hello,

I think that makes the API more complex than necessary.

We should keep it as simple as possible.

I think that for the driver there are already some fields that are
MetaData, so we should document and not extend the API.

As you don't point out, for example the S7 has the ability to diagnose
which functions it supports, and then inform the developer. Of course it
takes time to do it.

My grain of sand

El vie, 15 mar 2024 a las 9:02, Christofer Dutz ()
escribió:

> Well in that case we‘d actually have to introduce the following:
>
>
>   *   IsCyclicSubscriptionSupportedForTag
>   *   IsChangeOnValueSubscriptionSupportedForTag
>   *   IsEventSubscriptionSupportedForTag
>
> And possibly the “TagAddress” counterparts.
>
> We’d definitely be blowing up the API that way and making it more complex
> to use.
>
> Possibly throwing an exception when buiding a request might be a better
> option.
> So you use the isXYZSupported functions for general functionality support
> and catch exceptions later.
>
> Chris
>
> Von: Łukasz Dywicki 
> Datum: Freitag, 15. März 2024 um 10:48
> An: dev@plc4x.apache.org 
> Betreff: Re: S7 types supporting Subscriptions
> Thinking of it, maybe it would be better to extend signature of
> subscription inquiry to be isSubscriptionSupported(PlcTag) ?
> My motivation for this is rather basic - the BACnet stuff which is on
> the way will have per-participant subscriptions. Profinet (I suppose) is
> same for cyclic/acyclic subscriptions and so on.
> This gives driver opportunity to make smarter decision. Obviously for
> point to point connection such S7-TCP we can rely on device type
> negotiated earlier, *but* spanning further, we could finally let S7-1200
> subscriptions only for MODE events.
>
> Cheers,
> Łukasz
>
> On 13.03.2024 21:16, Christofer Dutz wrote:
> > Changing the title ….
> >
> > So, I just updated the S7 driver to no longer simply report true on
> “isSubscriptionSupported()” and it now only reports “true”, if it’s a
> S7-300 or S7-400.
> > If there is more, that needs to be enabled in order to support
> subscriptions on such a device, it would be cool, if we could detect that
> during the connection process and report accordingly.
> >
> > Chris
> >
> >
> > Von: Cesar Garcia 
> > Datum: Mittwoch, 13. März 2024 um 21:12
> > An: dev@plc4x.apache.org 
> > Betreff: Re: Board report 
> > Hello Chris,
> >
> > The S7-300/S7-400 devices have an important group of functions for event
> > handling. In the process part (PCS7) this is handled intensively.
> >
> > At the time, all these operations are on the Tag associated with the
> > request, so any service type subscription is a subscription to events.
> >
> > In general the S7-300/S7-400 support;
> >
> > - *MODE*: Change of operating state in the controller, change from
> STOP
> > to RUN and vice versa.
> > - *SYS*: System events, associated with internal events of the
> > controller or events previously parameterized for their indication.
> > - *USR*: Events programmed by the user and that are registered in the
> > internal diagnostic buffer.
> > - *ALM*: Alarm events generated by the user program, ALARM_S,
> ALARM_8,
> > NOTIFY.
> > - And additionally "*CYC*" cyclic mode transfer.
> >
> >
> > But in general they are all seen as events, hence the inconsistency
> pointed
> > out by Bjorn.
> >
> > All these events are implemented, of course, they have many points of
> > improvement that must be addressed.
> >
> > I currently do not have a PN or CP-343-1 CPU for testing with S7-300.
> >
> > As you point out, with Zylk's contribution it can complement the CP-443-1
> > for redudance tests (thanks Zylk).
> >
> > Well, the story is long... I'm going for a good coffee.
> >
> > Kind regards,
> >
> > El mié, 13 mar 2024 a las 14:57, Christofer Dutz (<
> christofer.d...@c-ware.de>)
> > escribió:
> >
> >> Hi Björn,
> >>
> >> the problem with the subscriptions in S7 are that they do work, but only
> >> on S7 300 (I think).
> >> I mentioned before on this list, that we should probably do
> >> context-sensitive “isXYZSupported” functions.
> >> Unfortunately, I haven’t yet had the time to implement them.
> >>
> >> So, to make it short … in general the S7 protocol doesn’t support
> >> subscriptions, except for a small subset of device types.
> >> If Cesar could possibly tell me which devices support Subscriptions, I
> >> could implement somethin

Re: Board report ....

2024-03-13 Thread Cesar Garcia
Hello Chris,

The S7-300/S7-400 devices have an important group of functions for event
handling. In the process part (PCS7) this is handled intensively.

At the time, all these operations are on the Tag associated with the
request, so any service type subscription is a subscription to events.

In general the S7-300/S7-400 support;

   - *MODE*: Change of operating state in the controller, change from STOP
   to RUN and vice versa.
   - *SYS*: System events, associated with internal events of the
   controller or events previously parameterized for their indication.
   - *USR*: Events programmed by the user and that are registered in the
   internal diagnostic buffer.
   - *ALM*: Alarm events generated by the user program, ALARM_S, ALARM_8,
   NOTIFY.
   - And additionally "*CYC*" cyclic mode transfer.


But in general they are all seen as events, hence the inconsistency pointed
out by Bjorn.

All these events are implemented, of course, they have many points of
improvement that must be addressed.

I currently do not have a PN or CP-343-1 CPU for testing with S7-300.

As you point out, with Zylk's contribution it can complement the CP-443-1
for redudance tests (thanks Zylk).

Well, the story is long... I'm going for a good coffee.

Kind regards,

El mié, 13 mar 2024 a las 14:57, Christofer Dutz ()
escribió:

> Hi Björn,
>
> the problem with the subscriptions in S7 are that they do work, but only
> on S7 300 (I think).
> I mentioned before on this list, that we should probably do
> context-sensitive “isXYZSupported” functions.
> Unfortunately, I haven’t yet had the time to implement them.
>
> So, to make it short … in general the S7 protocol doesn’t support
> subscriptions, except for a small subset of device types.
> If Cesar could possibly tell me which devices support Subscriptions, I
> could implement something to make this happen (Shouldn’t be too much work).
>
> One day we’ll probably have simulated subscriptions, but admittedly as
> nobody really seems to be interested in working on core-services like this,
> it’s probably gonna take a while.
> In the past I was able to work on PLC4X full time, but as no company
> (except Zylk) was really willing to pay for any form of development, I had
> to pick a job that pays the bills.
> I’m still on it, but doing this in my free time.
>
> Chris
>
> Von: Björn Haverland 
> Datum: Mittwoch, 13. März 2024 um 18:52
> An: dev@plc4x.apache.org 
> Betreff: Re: Board report 
> Hi,
>
> as I'm starting to get used to the project I do have some questions,
> especially regarding the mentioned v1.0.0.
>
> I tried to set up a plc4j with the quickstart guide which utilizes the S7
> protocol.
>
> So there are examples, in the example folder as well, which are just not
> working. (The Subscription for instance) I do understand that the lib
> hasn't had a Major release yet, but I think it could set people off.
>
> I like to suggest to change the docs on that points. I know it is hard to
> test everything but if a feature isn't implemented a wrong documentation
> just leads to frustration.
> Cesar has implemented a working CyclicSubscription, and I think he is
> going to merge it to the dev branch soon. But still there are other
> subscription methods shown which won't work, just yet.
>
> I'd like to hear your opinion on this.
>
> Best regards
>
> Bjoern
>
>
>
> Gesendet von Outlook für Android
> 
> From: Christofer Dutz 
> Sent: Wednesday, March 13, 2024 12:00:11 PM
> To: dev@plc4x.apache.org 
> Subject: Board report 
>
> Hi all,
>
> unfortunately I had almost forgotten to submit the board report after
> coming back from my little snowboard vacation.
> I took the liberty of posting the following report. If there are changes
> you’d like to see, please tell me asap and I can edit it.
>
>
>
> ## Description:
> The mission of the Apache PLC4X project is creating a set of libraries for
> communicating with industrial programmable logic controllers (PLCs) using a
> variety of protocols but with a shared API.
>
> ## Project Status:
> Current project status: Ongoing with moderate activity
> Issues for the board: None
>
> ## Membership Data:
> Apache PLC4X was founded 2019-04-17 (5 years ago)
> There are currently 21 committers and 13 PMC members in this project.
> The Committer-to-PMC ratio is roughly 3:2.
>
> Community changes, past quarter:
> - No new PMC members. Last addition was César García on 2021-10-01.
> - No new committers. Last addition was Jinlin Hong on 2022-11-02.
>
> ## Project Activity:
> Version 0.12.0 was released on 2024-02-19
>
> The project has been working on closing many issues this quarter.
> We were able to cut the number of open issues by half. Also did we
> invest a considerable amount of time for working towards reproducible
> builds and automating most of the release process. Also did we update
> the content on the website, especially thanks to a new documentation-
> generator now the 

Re: We need to work on some of the basics ... and I could use your help with that.

2024-02-27 Thread Cesar Garcia
Good day,

For the approach you make for PLC4X frontend, I proposed "qooxdoo". I have
been testing the new version and we can definitely get results very
quickly. It is pure JavaScript, nothing to do with NetBeans.

In the case of NetBeans Platform, the integration with PLC4X, I see it for
final applications, and very specific solutions. We cannot cover all
scenarios with web applications. And I would propose it for the
"plc4j/integration" section.

If you agree, I can take a few steps with qooxdoo, and we will evaluate it
to present it to the work team.

I'm going to get a coffee,

Have a great day,

Kind regards,

El mar, 27 feb 2024 a las 4:32, Christofer Dutz ()
escribió:

> Hi Cesar,
>
> Having had a look at https://qooxdoo.org/ … it seems as this is a
> web-framework not at all linked with NetBeans. So, do you propose to use
> that or a NetBeans GUI?
>
> Chris
>
> Von: Cesar Garcia 
> Datum: Montag, 26. Februar 2024 um 15:14
> An: dev@plc4x.apache.org 
> Betreff: Re: We need to work on some of the basics ... and I could use
> your help with that.
> Hello,
>
> Reading your email while having a coffee, what comes to mind is a word
> "time".
>
> I can remember that I followed up on the way Woodhead (Applicom) cards work
> and definitely before the request they have an optimizer, but they achieve
> this by creating a model of the device as an intermediate layer, which will
> plan the requests.
>
> The poorest implementation of a driver, I could see a communication with
> Modbus of a Simenes MP277, horrible!
>
> There are some papers like [1] that attack this problem, it would be
> interesting for the work team to debate how to implement an "optimizer +
> scheduler", which would solve two of the problems you raise.
>
> The interesting thing here is how to maintain a unified architecture
> between the versions of C and Java, which are the ones I can evaluate.
>
> My proposal for visualization follows the same line, we continue working
> with Apache NetBeans Platform for relatively complex applications, and web
> visualization with "qooxdoo" [2].
>
> Why I propose "qooxdoo", because of its simplicity, we don't want to learn
> a lot of React, Typescript, css, etc.
>
> To make a simple functional table, qooxdoo's implementation of a table is
> the best I've tried [3].
>
> The integration of qooxdoo with Apache ECharts [4] is pure magic.
>
> The best thing, qooxdoo + ECharts V4, works with old equipment that we
> still find in some industries (yes, Windows XP is still used).
>
> I would just add to the list, PLC4X driver as a service. In this case
> supported by Apache Karaf and Apache Celix.
>
> Uhs, I'm out of coffee,
>
> My grain of sand,
>
> Have an excellent day.
>
>
> 1.
>
> https://www.researchgate.net/publication/332657959_Dynamic_Optimization_of_Data_Packet-based_Communication_for_PLC_Visual_Monitoring
> 2. https://qooxdoo.org/
> 3. https://qooxdoo.org/qxl.demobrowser/#table~Table.html
> 4. https://echarts.apache.org/en/index.html
>
> El lun, 26 feb 2024 a las 5:17, Christofer Dutz (<
> christofer.d...@c-ware.de>)
> escribió:
>
> > Hi all,
> >
> > So, we now have more and more drivers in more and more languages and are
> > seeing that this is becoming a bit of a problem, as it’s difficult to
> keep
> > all of them aligned.
> > It was always my plan to work on this by extremely increasing the portion
> > of generated code.
> >
> > The problem is that there is also stuff that needs doing to promote the
> > project (Our users are asking for more drivers, better integrations,
> > bugfixes etc.)
> > I personally see that we need the following features:
> >
> > - A general purpose Request-Optimizer, that rewrites requests and
> possibly
> > splits them up
> > - A rewrite of the scraper
> > - A general purpose “subscription emulator” that allows using the
> > subscription API with connections only allowing reads
> > - A general purpose UI that allows interacting with PLCs using PLC4X in a
> > graphical way.
> >
> > However, you can imagine, that I can’t do all of that on my own,
> > especially as I unfortunately no longer can work on this sort of things
> > full-time as part of my day job.
> > So, I’m mostly relying on rainy weekends and dark and rainy evenings.
> >
> > My question to you all: Anyone willing to help take any of this off my
> > plate?
> >
> > Chris
> >
> >
>
> --
> *CEOS Automatización, C.A.*
> *GALPON SERVICIO INDUSTRIALES Y NAVALES FA, C.A.,*
> *PISO 1, OFICINA 2, AV. RAUL LEONI, SECTOR GUAMACHITO,*
>
> *FR

Re: We need to work on some of the basics ... and I could use your help with that.

2024-02-26 Thread Cesar Garcia
Hello,

Reading your email while having a coffee, what comes to mind is a word
"time".

I can remember that I followed up on the way Woodhead (Applicom) cards work
and definitely before the request they have an optimizer, but they achieve
this by creating a model of the device as an intermediate layer, which will
plan the requests.

The poorest implementation of a driver, I could see a communication with
Modbus of a Simenes MP277, horrible!

There are some papers like [1] that attack this problem, it would be
interesting for the work team to debate how to implement an "optimizer +
scheduler", which would solve two of the problems you raise.

The interesting thing here is how to maintain a unified architecture
between the versions of C and Java, which are the ones I can evaluate.

My proposal for visualization follows the same line, we continue working
with Apache NetBeans Platform for relatively complex applications, and web
visualization with "qooxdoo" [2].

Why I propose "qooxdoo", because of its simplicity, we don't want to learn
a lot of React, Typescript, css, etc.

To make a simple functional table, qooxdoo's implementation of a table is
the best I've tried [3].

The integration of qooxdoo with Apache ECharts [4] is pure magic.

The best thing, qooxdoo + ECharts V4, works with old equipment that we
still find in some industries (yes, Windows XP is still used).

I would just add to the list, PLC4X driver as a service. In this case
supported by Apache Karaf and Apache Celix.

Uhs, I'm out of coffee,

My grain of sand,

Have an excellent day.


1.
https://www.researchgate.net/publication/332657959_Dynamic_Optimization_of_Data_Packet-based_Communication_for_PLC_Visual_Monitoring
2. https://qooxdoo.org/
3. https://qooxdoo.org/qxl.demobrowser/#table~Table.html
4. https://echarts.apache.org/en/index.html

El lun, 26 feb 2024 a las 5:17, Christofer Dutz ()
escribió:

> Hi all,
>
> So, we now have more and more drivers in more and more languages and are
> seeing that this is becoming a bit of a problem, as it’s difficult to keep
> all of them aligned.
> It was always my plan to work on this by extremely increasing the portion
> of generated code.
>
> The problem is that there is also stuff that needs doing to promote the
> project (Our users are asking for more drivers, better integrations,
> bugfixes etc.)
> I personally see that we need the following features:
>
> - A general purpose Request-Optimizer, that rewrites requests and possibly
> splits them up
> - A rewrite of the scraper
> - A general purpose “subscription emulator” that allows using the
> subscription API with connections only allowing reads
> - A general purpose UI that allows interacting with PLCs using PLC4X in a
> graphical way.
>
> However, you can imagine, that I can’t do all of that on my own,
> especially as I unfortunately no longer can work on this sort of things
> full-time as part of my day job.
> So, I’m mostly relying on rainy weekends and dark and rainy evenings.
>
> My question to you all: Anyone willing to help take any of this off my
> plate?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] How about releasing 0.12.0?

2024-02-14 Thread Cesar Garcia
Hi,

+1 for release,

Best regards,

El mié, 14 feb 2024 a las 15:53, Christofer Dutz ()
escribió:

> Hi all,
>
> so in the past few weeks we managed to cut the number of open issues by
> half and merge in all the big running initiatives.
>
> I would really love to have a new version available at Building IoT next
> week.
>
> What do you think? Should we do a new release?
>
> I would also really love to test the scripts for releasing reproducible
> builds with docker that I whipped up over the last months.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Last call ... get your changes in ... 0.10.0 is coming ...

2023-09-29 Thread Cesar Garcia
Thank you Chris,

Yes, I think it is an interesting contribution for us and the community in
general.

I keep you informed,

Kind regards,

El vie, 29 sept 2023 a las 12:19, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi Cesar,
>
> I guess that’s something you have to decide ;-)
> If you think it’s usable (doesn’t have to be perfect)
> Usually I’d say: “if it’s better than in the 0.10.0 … go for it”.
> As it’s completely new … it’s just “go for it” ;-)
>
> Chris
>
>
> Von: Cesar Garcia 
> Datum: Freitag, 29. September 2023 um 18:14
> An: dev@plc4x.apache.org 
> Betreff: Re: Last call ... get your changes in ... 0.10.0 is coming ...
> Hello Chrish,
>
> Is it possible that the Hop integration is part of this release?
>
> I only need the documentation which I could work on this weekend.
>
> Kind regards,
>
> El vie, 29 sept 2023 a las 11:12, Christofer Dutz (<
> christofer.d...@c-ware.de>) escribió:
>
> > Scrap that … 0.11.0 is coming ;-)
> >
> > And I really could use some help by the community to help get the
> > Release-Notes in shape … I’m starting to compile a list, but it will not
> be
> > complete.
> >
> > Chris
> >
> >
> >
> > Von: Christofer Dutz 
> > Datum: Freitag, 29. September 2023 um 17:09
> > An: dev@plc4x.apache.org 
> > Betreff: Last call ... get your changes in ... 0.10.0 is coming ...
> > Hi all,
> >
> > so for the last few days I have been testing a lot and fixing a number of
> > issues that were reported.
> > This was all in preparation for the next release.
> >
> > In order to have a new release out before CommunityOverCode, I am
> planning
> > on preparing the RC for 0.10.0 on Monday (2nd of October).
> >
> > So if you want to get some stuff in the next release … hurry up, you’ve
> > got this weekend to make it happen.
> >
> > 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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Last call ... get your changes in ... 0.10.0 is coming ...

2023-09-29 Thread Cesar Garcia
Hello Chrish,

Is it possible that the Hop integration is part of this release?

I only need the documentation which I could work on this weekend.

Kind regards,

El vie, 29 sept 2023 a las 11:12, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Scrap that … 0.11.0 is coming ;-)
>
> And I really could use some help by the community to help get the
> Release-Notes in shape … I’m starting to compile a list, but it will not be
> complete.
>
> Chris
>
>
>
> Von: Christofer Dutz 
> Datum: Freitag, 29. September 2023 um 17:09
> An: dev@plc4x.apache.org 
> Betreff: Last call ... get your changes in ... 0.10.0 is coming ...
> Hi all,
>
> so for the last few days I have been testing a lot and fixing a number of
> issues that were reported.
> This was all in preparation for the next release.
>
> In order to have a new release out before CommunityOverCode, I am planning
> on preparing the RC for 0.10.0 on Monday (2nd of October).
>
> So if you want to get some stuff in the next release … hurry up, you’ve
> got this weekend to make it happen.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [VOTE] Apache PLC4X Build-Tools Code-Generation 1.7.0 RC1

2023-09-24 Thread Cesar Garcia
+1 (binding)

Built on Ubuntu 22.04 jammy x86_64 Linux 6.2.0-33-generic Intel Core
i7-9700K @ 8x 4.9GHz
OpenJDK Runtime Environment (build 11.0.20.1+1-post-Ubuntu-0ubuntu122.04)

[OK] Download all staged artifacts under the url specified in the release
vote email.
[OK] Verify the signature is correct.
[OK] Check if the signature references an Apache email address.
[OK] Verify the SHA512 hashes.
[OK] Unzip the archive.
[OK] Verify the existence of LICENSE, NOTICE, README, RELEASE_NOTES files
in the extracted source bundle.
[OK] Verify the content of LICENSE, NOTICE, README, RELEASE_NOTES files in
the extracted source bundle.
[OK] [RM] Verify the staged source README, RELEASE_NOTE files correspond to
those in the extracted source bundle.
[OK] [RM] Run RAT externally to ensure there are no surprises.
[OK] Search for SNAPSHOT references
[OK] Search for Copyright references, and if they are in headers, make sure
these files containing them are mentioned in the LICENSE file.
[OK] Build the project according to the information in the README.md file.
[OK] [RM] Build the project with all with-xyz profiles and tests enabled
and an empty maven local repo.







El vie, 22 sept 2023 a las 7:20, Christofer Dutz ()
escribió:

> Apache PLC4X Build-Tools Code-Generation 1.7.0 has been staged under [2]
>and it’s time to vote on accepting it for release.
>
>All Maven artifacts are available under [1]. Voting will be open for
> 72hr.
>
>A minimum of 3 binding +1 votes and more binding +1 than binding -1
>are required to pass.
>
>Repository: https://gitbox.apache.org/repos/asf/plc4x-build-tools.git
>Release tag: releases/code-generation/1.7.0
>Hash for the release tag: 43b93a139c9580325c26082e7272fc224238355f
>
>Per [3] "Before voting +1 PMC members are required to download
>the signed source code package, compile it as provided, and test
>the resulting executable on their own platform, along with also
>verifying that the package meets the requirements of the ASF policy
>on releases."
>
>You can achieve the above by following [4].
>
>[ ]  +1 accept (indicate what you validated - e.g. performed the non-RM
> items in [4])
>[ ]  -1 reject (explanation required)
>
>
>[1]
> https://repository.apache.org/content/repositories/orgapacheplc4x-1049
>[2]
> https://dist.apache.org/repos/dist/dev/plc4x/build-tools/code-generation/1.7.0/rc1/
>[3]
> https://www.apache.org/dev/release/validation.html#approving-a-release
>[4] https://plc4x.apache.org/developers/release/validation.html
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [D] [Java] How should we handle "loggers"? (plc4x)

2023-06-03 Thread Cesar Garcia
Hello,

Totally agree on equalizing the use of logs (log, LOG, logger, LOGGER), and
so on...

If there is a best practice that does not imply adding more libraries to
the existing ones, we should evaluate it.

Kind regards,

El sáb, 3 jun 2023 a las 17:18, Łukasz Dywicki ()
escribió:

> The static logger declaration is still a thing made by (older/elder? ;))
> java developers, mainly because log4j 1.x/commons-logging/jul loggers
> were advised to be made like that. With switch to slf4j static is no
> longer mandatory/strongly recommended.
> Most of code I make myself rely on logger field, but I've seen people
> who do it with `@Slf4j` annotation coming from Lombok.
>
> Anyhow, is there a intention (not yet a plan) to unify this part of our
> code?
>
> Best,
> Łukasz
>
> On 2.06.2023 08:35, chrisdutz (via GitHub) wrote:
> >
> > GitHub user chrisdutz added a comment to the discussion: [Java] How
> should we handle "loggers"?
> >
> > And here ... even the Slf4j folks no longer recommend any general way of
> doing things: https://www.slf4j.org/faq.html#declared_static
> > I guess in the past, there was a performance reason to to things, but
> this no longer seems to apply today.
> >
> > GitHub link:
> https://github.com/apache/plc4x/discussions/973#discussioncomment-6068178
> >
> > 
> > This is an automatically sent email for dev@plc4x.apache.org.
> > To unsubscribe, please send an email to:
> dev-unsubscr...@plc4x.apache.org
> >
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] SingletonTransports?

2023-05-15 Thread Cesar Garcia
Hello everyone,

This point is extremely interesting in the way of developing high
availability or multiprotocol drivers.

A long long time ago we developed a driver for a telecommunications
company, it used Kannel as a base, a communications gateway, but what I
bring to this point is the concept of the "BearerBox" [1]. This piece of
software within the Kannel architecture allowed the routing of messages, as
well as the monitoring of the different communication channels. In a
nutshell the translations from protocol X to protocol Y of the driver were
done inside the "BearerBox".

Another interesting way to approach this problem is the way the EPICS[2]
project did it. In this paper he describes the different functionalities of
the driver, I think that it is very similar to what is proposed and can
serve as a documentary base.

As for having the connections in a "Static" way, eh no. Given that the
tests that I have carried out with Karaf and the Hop server, if these
connections are available in a static way, in theory it should bring down
the server for any update, it does not fit my mind 24/7.

my grain of sand,

1. https://www.kannel.org/download/1.4.0/userguide-1.4.0/userguide.html
2. https://accelconf.web.cern.ch/ica05/proceedings/pdf/P3_074.pdf

El lun, 15 may 2023 a las 4:28, Christofer Dutz ()
escribió:

> Hi all,
>
> while doing some brainstorming on my next steps for the PROFINET driver, I
> fomulated something I would call a SingletonTransport …
> We have some drivers, that require a connection to open a port on a given
> port number or open a raw socket. This doesn’t work with multiple
> connections.
>
> So my idea is to create a set of Transports as “SingletonTransports” …
> here a driver simply registers as potential consumer for incoming packets
> and the SingletonTransport then simply sorts them and forwards them to the
> right connection.
> I wrote down the details here:
> https://cwiki.apache.org/confluence/display/PLC4X/PROFINET+Driver
>
> Any thoughts highly welcome.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Please don't merge mspec changes if you haven't built with all languages enabled

2023-05-04 Thread Cesar Garcia
greetings to all,

First of all, sorry for the problem caused by the modifications in the
mspec, but I needed to incorporate those modifications to continue with the
improvements of the S7 driver in its Java version.

I see that the best solution is to separate the project as Luck points out,
it would be in the medium term.


Now, as a team, I can support Chris with the C version, for which I would
need your guidance.

Awaiting your comments and guidance.

Best regards,


El jue, 4 de may de 2023, 1:14 a. m., Christofer Dutz <
christofer.d...@c-ware.de> escribió:

> And in general your idea is not bad... About releasing mspecs separately.
> The only fear I have with this, it's that if we don't want or repo to
> become a mess, like that of apache cocoon, we would need to split it up
> into many smaller repos and do a LOT more releases.
>
> Given the current activity here, not sure we want to do that.
>
> Chris
>
> Gesendet von Outlook für Android
> 
> From: Łukasz Dywicki 
> Sent: Wednesday, May 3, 2023 4:56:23 PM
> To: dev@plc4x.apache.org 
> Subject: Re: Please don't merge mspec changes if you haven't built with
> all languages enabled
>
> Hello Chris,
> What you asking for might effectively stop any contributions to protocol
> updates for entire project. There are very few people who can do Java,
> C, Go and eventually Python. I know one of goals of Apache PLC4X is
> supporting variety of languages, but what you suggest  mean that less
> and less people will be able contribute mspec fixes. There will be even
> less of them with each next language we introduce..
> While I understand it is important to keep consistency, reality is we
> have far less people working on C than on Java. Some of languages we
> have code generators and drivers for, did and will fall behind.
> I'd rather opt for keeping mspecs releases separate from drivers so
> plc4j/plc4c and plc4go can pick version they support and stick with it.
> This is the way in which we can avoid troubles with new changes which
> are implemented in one language but not others. What do you think about
> that?
>
> Best,
> Łukasz
>
>
> On 3.05.2023 16:42, Christofer Dutz wrote:
> > Hi all,
> >
> > we’re currently trying to get the S7 driver back working ... even if it
> seems as if it is working (When running the ManualS7Test) ... None of the
> Integration-Tests are running, because all are disabled.
> > This makes quality assurance quite difficult.
> >
> > Also, the fact that the changes broke the C and the Go versions is
> “sub-ideal”.
> >
> > We’ll try to fix the problems, but I guess it’s going to consume a lot
> of time to do so.
> >
> > But in the future ... if you change mspecs for drivers, you might break
> things in other languages, so It’s super important to ensure stuff is
> working in all languages.
> >
> > Also please don’t comment out tests ... I know I found a place where I
> did so too and I promise to not do it again.
> >
> > We really have to pay a bit more attention on not reducing more and more
> of our tests.
> >
> > Chris
> >
> >
> >
>


Driver S7 - New Features

2023-04-28 Thread Cesar Garcia
Hello everyone,

Attached you will find a summary of the modifications made to the S7 driver
(Java version), in order to be able to replicate said modifications in
other languages.

Objectives of the modification:

This version of the S7 driver is aimed at exploiting the advanced features
of the S7-300 and S7-400 controllers, as well as basic reading and writing
functions for the S7-1200 and S7-1500 devices (PUT/GET functions). We hope
in a short period of time to have the S7-Plus version, which should exploit
the asynchronous functions of the S7-1500.

Limitations:

Applies only to S7-300/S7-400 or VIPA devices (not tested). Basic or
Put/Get access is available for the S7-1200 and S7-1500 series.

Specific:

1. Implement asynchronous event handling in the driver.

1.1. Device status management (RUN/STOP).
1.2. System events (Alarms/User messages).
1.3. Cyclic Subscription (CYC).
1.4. SZL(SSL) Diagnostics.
The combination of diagnostic functions allows us to establish the quality
of the values obtained from the controller.

Cyclic data acquisition allows data to be obtained with a time stamp from
the origin (PLC).

2. Management of high availability in H equipment (S7-400H) or similar.

This modification enables connection supervision as well as high
availability management to S7-400H controllers (S7HA).

The modification makes use of the functionalities available in Netty, for
managing communication pipes. Use of a virtual channel and two physical
channels (TCP/IP connections), for the management of high availability, as
well as its life cycle. Redundancy is managed as FailOver, its
configuration and supervision time are parameterized from the connection
URL.

Currently the modification of the S7 driver in Java and its associated
documentation is available in the development branch and tested against
physical equipment.

Improvement points:

1. Correct functional tests of the driver.
2. Implement metrics in the driver.
3. Add PG functions.

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [VOTE] Should we remove the PLC4X Connector from the Confluent Hub

2023-04-14 Thread Cesar Garcia
+1

El mar, 11 abr 2023 a las 23:55, Ben Hutcheson ()
escribió:

> Hi,
>
> The work expected from Confluent to maintain the PLC4X Kafka Connector in
> the hub, historically hasn't been in line with our release schedule. And
> seeing as though there isn't really anybody that is actively maintaining
> the PLC4X Kafka Connector, I would like to vote on removing the package
> from the Confluent Hub.
> https://www.confluent.io/hub/apache/kafka-connect-plc4x-plc4j
>
> Please vote:
>
> [ ] +1: Remove the package from the Confluent Hub
> [ ] 0: No opinion
> [ ] -1: Keep the package in the Confluent Hub
>
> The vote will remain open for 72 hours, the majority vote will decide.
>
> Kind Regard
>
> Ben
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [I] about ads Test (plc4x)

2023-03-28 Thread Cesar Garcia
For Modbus:
http://sourceforge.net/projects/modrssim2/
https://www.modbusdriver.com/diagslave.html

For Siemens:
https://support.industry.siemens.com/cs/document/109807113/tia-portal-test-suite-advanced-v18-trial-download?dti=0=en-VE
 Your 15 days trial, Including PLCSIM Advance for tests.

For CodeSys
https://www.codesys.com/
Free

Don't forget! WireShark
https://www.wireshark.org/download.html




El mar, 28 mar 2023 a las 3:24,  (via GitHub) ()
escribió:

>
>  opened a new issue, #870:
> URL: https://github.com/apache/plc4x/issues/870
>
>I wrote an acquisition program using plc4x's ads and would like to ask
> if there is an ads simulator or a test program generated from ads
> simulation data to test the correctness of my program.
>I hope you can give me advice, thank you very much!
>
>
> --
> This is an automated message from the Apache Git Service.
> To respond to the message, please log on to GitHub and use the
> URL above to go to the specific comment.
>
> To unsubscribe, e-mail: dev-unsubscr...@plc4x.apache.org.apache.org
>
> For queries about this service, please contact Infrastructure at:
> us...@infra.apache.org
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: AW: Trying to fix the timeout issues ...

2023-03-17 Thread Cesar Garcia
Hello,

Indeed, it is a solution focused on the S7-400H(F)[1], also applicable to
the S7-1500H (but since I don't have the hardware, I'm not saying it
works). :-)

>From the video you can see that there are two PLCs in parallel, which
generates the HA for the entire hardware.

For the tests I have the S7-400 CPU, with two CP 443-1, which allows me to
emulate the S7-400H.

Going back to the point, the connection scheme monitors outgoing and
incoming traffic, this is because there is a subscription service that can
be synchronous (CYC) or asynchronous (ALRM), as well as internal services
to check the channel (PING).

I am currently incorporating all these features into the driver that were
removed at some point :-( .

Absolutely agree with Chris regarding functional tests for generic routines
(SPI, etc.), I'm just presenting this as a specific solution that might
help visualize other solutions.

Ok and so on...

My grain of sand.

1. https://www.youtube.com/watch?v=cwHHqCoGKeA

El vie, 17 mar 2023 a las 14:21, Łukasz Dywicki ()
escribió:

> If you have a look on test I pointed - its current weakness is that
> timeout do not occur if you do not have data packet incoming from
> network pipe.
>
> Present implementation simply needs working network to spot timeout
> which contradicts the timeout concept in general:
>
> https://github.com/apache/plc4x/blob/1045cf01a525acddf118ecfb1916df3f84921853/plc4j/spi/src/test/java/org/apache/plc4x/java/spi/Plc4xNettyWrapperTest.java#L94
>
> If you remove that line driver handler will never be notified about
> failure.
> Solution used by heyoulin/spnettec was to introduce watchdog thread on
> our end which is, fairly speaking, best way to do. Patch I made is there
> to define SPIs and cover its brief behavior with netty wrapper test. It
> will definitely help with i.e. ADS doing silent tcp_close on connections
> which result in no more plc traffic.
>
> Cesar's approach addresses a bit different issue which is oriented
> towards HA, not sure if channels are targeted towards same or different
> PLCs.
>
> Cheers,
> Łukasz
>
> On 17.03.2023 18:35, Christofer Dutz wrote:
> > Hi all,
> >
> > I mean … I would feel more comfortable, if we came up with a test that
> demonstrates the current implementations weaknesses. This way we can prove
> another implementation addresses that issue. Otherwise it just feels like
> we’re swapping one option with another without any idea if this really will
> be better.
> >
> > Who knows? Perhaps it addresses this one issue better but other
> situations in other usage-patterns worse?
> >
> > I think if we work on stuff like this, we should sort of start
> implementing tests.
> >
> > Chris
> >
> > Von: Cesar Garcia 
> > Datum: Freitag, 17. März 2023 um 18:03
> > An: dev@plc4x.apache.org 
> > Betreff: Re: Trying to fix the timeout issues ...
> > Hello everyone,
> >
> > For the S7HA version I used a different path for the timeout
> implementation.
> >
> >  / NIOChannel B
> > PLC4X -> EmbeddedChannel ->
> > \ NIOChannel A
> >
> > Channels A and B have timeout monitoring (IdleStateHandler) to handle
> > disconnection.
> >
> > The EmbeddedChannel implementation contains all the state machines
> required
> > to manage TCP/IP.  It also handles the FailOver between the channels.
> >
> > This way you don't have to recreate the connection from the client's
> point
> > of view (PLC4X).
> >
> > The client is told to disconnect when the TCP/IP channels A and B are
> > actually disconnected. But it does not destroy the main pipe.
> >
> > my grain of sand,
> >
> > El vie, 17 mar 2023 a las 3:09, Christofer Dutz (<
> christofer.d...@c-ware.de>)
> > escribió:
> >
> >> Hi all,
> >>
> >> I would like to address the timeout handling in our Java driver core
> next.
> >> Unfortunately, I am a bit unsure how to address that.
> >> Usually, I would whip up a Unit-Test that causes the error and then to
> fix
> >> it.
> >>
> >> However, I don’t quite know how to produce the problem that people are
> >> describing.
> >>
> >> Would anyone here be able to assist me with at least that? I’m happy to
> do
> >> the fixing.
> >> I just feel uncomfortable just swapping some code out with random other
> >> code.
> >>
> >>
> >> Chris
> >>
> >>
> >
> > --
> > *CEOS Automatización, C.A.*
> > *GALPON SERVICIO INDUSTRIALES Y NAVALES FA,

Re: Trying to fix the timeout issues ...

2023-03-17 Thread Cesar Garcia
Hello everyone,

For the S7HA version I used a different path for the timeout implementation.

/ NIOChannel B
PLC4X -> EmbeddedChannel ->
   \ NIOChannel A

Channels A and B have timeout monitoring (IdleStateHandler) to handle
disconnection.

The EmbeddedChannel implementation contains all the state machines required
to manage TCP/IP.  It also handles the FailOver between the channels.

This way you don't have to recreate the connection from the client's point
of view (PLC4X).

The client is told to disconnect when the TCP/IP channels A and B are
actually disconnected. But it does not destroy the main pipe.

my grain of sand,

El vie, 17 mar 2023 a las 3:09, Christofer Dutz ()
escribió:

> Hi all,
>
> I would like to address the timeout handling in our Java driver core next.
> Unfortunately, I am a bit unsure how to address that.
> Usually, I would whip up a Unit-Test that causes the error and then to fix
> it.
>
> However, I don’t quite know how to produce the problem that people are
> describing.
>
> Would anyone here be able to assist me with at least that? I’m happy to do
> the fixing.
> I just feel uncomfortable just swapping some code out with random other
> code.
>
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [PR] feat(plc4j) Better handling of timeouts in plc4j (#821). (plc4x)

2023-02-27 Thread Cesar Garcia
Hi,

This is quite an interesting problem, as they point out, the state machine
of the driver (plc4x) and the state of the Netty pipe must be handled,

For the S7 driver, I have the S7HA version (high availability) in which I
solve part of that problem and it may help you. You can see it in [1].

I hope to be able to place this version this week in the plc4x repo since
it will be the one I will use for my tests, but I see the solution that you
propose as interesting and on track.

My grain of sand,

Kind regards,

1. https://github.com/glcj/plc4x/tree/develop/plc4j/drivers/s7



El lun, 27 feb 2023 a las 11:11, splatch (via GitHub) ()
escribió:

>
> splatch commented on code in PR #822:
> URL: https://github.com/apache/plc4x/pull/822#discussion_r1118881055
>
>
> ##
> plc4j/spi/src/main/java/org/apache/plc4x/java/spi/Plc4xNettyWrapper.java:
> ##
> @@ -200,85 +198,60 @@ public void userEventTriggered(ChannelHandlerContext
> ctx, Object evt) throws Exc
>  // by sending a connection request to the plc.
>  logger.debug("User Event triggered {}", evt);
>  if (evt instanceof ConnectEvent) {
> -this.protocolBase.onConnect(new
> DefaultConversationContext<>(ctx, authentication, passive));
> +this.protocolBase.onConnect(new
> DefaultConversationContext<>(this::registerHandler, ctx, authentication,
> passive));
>  } else if (evt instanceof DisconnectEvent) {
> -this.protocolBase.onDisconnect(new
> DefaultConversationContext<>(ctx, authentication, passive));
> +this.protocolBase.onDisconnect(new
> DefaultConversationContext<>(this::registerHandler, ctx, authentication,
> passive));
>  } else if (evt instanceof DiscoverEvent) {
> -this.protocolBase.onDiscover(new
> DefaultConversationContext<>(ctx, authentication, passive));
> +this.protocolBase.onDiscover(new
> DefaultConversationContext<>(this::registerHandler, ctx, authentication,
> passive));
>  } else if (evt instanceof CloseConnectionEvent) {
> -this.protocolBase.close(new DefaultConversationContext<>(ctx,
> authentication, passive));
> +this.protocolBase.close(new
> DefaultConversationContext<>(this::registerHandler, ctx, authentication,
> passive));
>
> Review Comment:
>You're right, however I am not entirely sure of netty vs plc4x
> lifecycle. Namely can we reestablish connection  once we reached that
> point? At high level plc4x drivers support `connect` call, we would need to
> assure that it  always configure fresh pipeline and uses new timeout
> manager forcing netty to fire bootstrap procedure again.
>
>
>
> --
> This is an automated message from the Apache Git Service.
> To respond to the message, please log on to GitHub and use the
> URL above to go to the specific comment.
>
> To unsubscribe, e-mail: dev-unsubscr...@plc4x.apache.org
>
> For queries about this service, please contact Infrastructure at:
> us...@infra.apache.org
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Generally move to using "Context" objects inside our generated code?

2023-02-04 Thread Cesar Garcia
+1, If there's a way to get the driver's context, something like
"PlcDriver.getContext()", and pass pipe information, interesting.

El sáb, 4 feb 2023 a las 6:18, Christofer Dutz ()
escribió:

> Hi all,
>
> recently I have been working on supporting dynamic tags like “_itemCount”,
> “_curItem” and “_lastItem” in array elements.
>
> In java I used ThreadLocals for this as it felt like a Java-Native way and
> it wouldn’t blow up the signatures of our Parser, Serializer and
> GetLengthInXYZ methods.
>
> Now when looking for something similar in Go, it seems in such cases
> Contexts are used. These are sort of like a HashMap wrapped with little
> util methods. In this HashMap you pass along values that are “in context” …
> if you change the context, a copy of the old context is created and then
> the updated/added values are updated/added to the HashMap.
>
> So, in an array I add the additional information to the existing one by:
>
> arrayCtx := spiContext.CreateArrayContext(ctx, int(_numItems),
> int(_curItem))
>
>
> and then simply pass in the „arrayContext”. And for accessing it I simply
> for this:
>
> spiContext.GetLastItemFromContext(ctx)
>
>
>
> Admittedly I’m not a big fan of crating copies of the full context every
> time, I would prefer to be able to push to sort of a context stack, but I
> guess that’s the way things work in Go.
>
>
>
> When I wanted to add the functionality of Java and Go to PLC4C I was a bit
> stuck, as neither concept really existed.
>
>
>
> However thinking a bit more about it, adding the concept of Contexts to C
> was actually quite simple.
>
>
>
> Now that got me thinking:
>
> Shouldn’t we implement the same pattern for Java? It should be easy to
> implement.
>
>
>
> And while I was thinking, I even thought: Shouldn’t we extend this idea
> and also get the ReadBuffer, WriteBuffer, the Encoding, the ByteOrder and
> anything we’re currently passing along with “WithXYZOption” var-args, into
> these Contexts and simply pass along one Context object?
>
> I think this would clean up the code quite a bit.
>
>
>
> What do you think?
>
>
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Removing the Apache Feather from our logos?

2023-01-16 Thread Cesar Garcia
I also think that the directives should come from the foundation

What? when? And how? Those graphic aspects should be handled.

Interesting to know what they decide,

Best regards,

El dom, 15 ene 2023 a las 7:21, Christofer Dutz ()
escribió:

> Hi all,
>
> I know that initially I had our designer add the feather to our logo, to
> lay emphasis on the relation to the ASF.
>
> Now over the last few years there have been many rounds of fruitless
> discussions on changing the name of the Apache Software Foundation as it
> would be harming the Native American Cultural Groups.
> Many people are discussing on how we could rename the ASF or which steps
> we could do.
>
> One argument, that even if “Apache Webserver” was derived from “A Patchy
> Webserver” as it initially was a webserver with a lot of patches. Nobody
> can argue against the fact that the feather does refer more to native
> Americans than towards a set of patches.
>
> So, I thought … how about us starting to do a first step and we remove the
> feather from our logo?
>
> What are your thoughts on this?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Having a in-person community meetup?

2023-01-10 Thread Cesar Garcia
How are they?

I am interested in participating, but if possible I would opt for the
support regarding the transfer/accommodation.

I'm a bit far from Europe.

My points of interest for discussion:

1. Profinet Driver (we need the hardware).
2.S7 Driver
3. PLC4X APP (NetBeans platform)

The date is important and in what city would the meeting be?

Best regards,

El mar, 10 ene 2023 a las 6:25, Christofer Dutz ()
escribió:

> Good point … the one we should be deleting because of its GPL2 dependency
> :-(
>
> From: Dominik Riemer 
> Date: Tuesday, 10. January 2023 at 10:30
> To: dev@plc4x.apache.org 
> Subject: RE: [DISCUSS] Having a in-person community meetup?
> Hi,
>
> great idea, I would also try to join the meetup and maybe we can also do
> some hacking on the PLC4X UI 
>
> Cheers
> Dominik
>
>
> -Original Message-
> From: Christofer Dutz 
> Sent: Monday, January 9, 2023 10:05 AM
> To: dev@plc4x.apache.org
> Subject: Re: [DISCUSS] Having a in-person community meetup?
>
> Well … I was thinking of asking TAC and setting something up.
> As I mentioned. That would be quite a bit of work for me and the rest of
> the TAC folks.
> So we’d only do it if offering this, would make a great difference.
>
> Chris
>
>
> From: Xiangdong Huang 
> Date: Monday, 9. January 2023 at 08:51
> To: dev@plc4x.apache.org 
> Subject: Re: [DISCUSS] Having a in-person community meetup?
> Ah... if there is TAC support, I will forward this message to IoTDB
> community to see if there are committers want to join for the Historian
> development face to face.
>
> ---
> Xiangdong Huang
> School of Software, Tsinghua University
>
> Christofer Dutz  于2023年1月5日周四 18:59写道:
> >
> > Hi Jinlin,
> >
> > Would you be willing and able to attend such an event?
> > You would be more than welcome.
> >
> > As I’m also part of the Apache Travel Assistance committee … I’d also
> like to ask any others here too:
> > Would you like to attend such an event, but the costs of travelling are
> what you can’t afford or would have a too big impact on your budget to be
> willing to come?
> >
> > Because there theoretically is the option of having Apache cover the
> costs for travelling and accommodation. However, this would put quite a lot
> of extra work for us for setting it up and running it.
> > So, if it’s only 1-2 people, this probably doesn’t make much sense, but
> if there were more, it might make sense.
> >
> > And please … don’t say: “I can’t afford it and would like assistance”,
> > if the problem is that the fuel has become too expensive for your
> > Ferrari or the parking costs for your private jet are skyrocketing ;-)
> >
> > And if you don’t want to publicly answer … feel free to DM me.
> >
> > Chris
> >
> >
> > From: jl hong 
> > Date: Thursday, 5. January 2023 at 02:16
> > To: dev@plc4x.apache.org 
> > Subject: Re: [DISCUSS] Having a in-person community meetup?
> > This sounds exciting :)
> >
> > Jinlin
> >
> > Lukas Ott  於 2023年1月5日 週四 上午12:11寫道:
> >
> > > cool :-) would be fun so that I can finally ask all my questions in
> > > person
> > > ;-)
> > >
> > > Am Mi., 4. Jan. 2023 um 16:37 Uhr schrieb Ben Hutcheson <
> > > ben.hut...@gmail.com>:
> > >
> > > > Sounds like fun.
> > > >
> > > > Ben
> > > >
> > > > On Wed, Jan 4, 2023 at 4:30 PM Christofer Dutz <
> > > christofer.d...@c-ware.de>
> > > > wrote:
> > > >
> > > > > Ok …
> > > > >
> > > > > Uwe from codecentric FFM (the new office) was delighted my me
> > > > > asking if codecentric would be willing to accommodate us during
> the hackathon.
> > > > > So, that would be one option … I guess Sebastian would like that
> > > > > option
> > > > ;-)
> > > > >
> > > > > Chris
> > > > >
> > > > >
> > > > > From: Christofer Dutz 
> > > > > Date: Wednesday, 4. January 2023 at 16:24
> > > > > To: dev@plc4x.apache.org 
> > > > > Subject: [DISCUSS] Having a in-person community meetup?
> > > > > Hi all,
> > > > >
> > > > > some of you remember the times around our graduation. We had
> > > > > loads of in-presence meetups and that really fuled the drive in
> the community.
> > > > > Covid sort of was the opposite and it felt like we were sort of
> > > > > losing
> > > > our
> > > > > drive a bit.
> > > > >
> > > > > Now that Ben now also lives in Germany, I wanted to bring up
> > > > > this topic again.
> > > > >
> > > > > What do you folks think of a 2-3-day hackathon on PLC4X (and
> > > > > possibly
> > > the
> > > > > Historian)?
> > > > > Probably we would need to sort of do it Friday to Sunday.
> > > > >
> > > > > Also currently probing if we could not get TAC to help finance
> > > > > the
> > > > travels
> > > > > of everyone except me.
> > > > >
> > > > > Even if I would love a week on the Bahamas, probably something
> > > > > in
> > > Germany
> > > > > somewhere round Frankfurt or Stuttgart would make sense (from
> > > > > the perspective of people being able to come there via public
> > > > > transport and keeping the connection options simple and cheaper)

Re: error Plc4xSubscribe example

2022-11-21 Thread Cesar Garcia
Hello, Willem, a pleasure to greet you,

To help me with the details, Can  you place the code that you are using for
the subscription?.

I will test it with a S7-400 CPU, so I will need the model and firmware
version of your CPU in order to keep track.

Grateful for your support.

El dom, 20 nov 2022 a las 18:37, Willem Remie ()
escribió:

> Hi,
>
> Although HelloPlc4xRead runs fine connected to an S7-300 the subscription
> example fails with following exception
>
> Exception in thread "main" java.lang.ClassCastException: class
> org.apache.plc4x.java.s7.readwrite.tag.S7Tag cannot be cast to class
> org.apache.plc4x.java.s7.readwrite.tag.S7SubscriptionTag
> (org.apache.plc4x.java.s7.readwrite.tag.S7Tag and
> org.apache.plc4x.java.s7.readwrite.tag.S7SubscriptionTag are in unnamed
> module of loader 'app')
>at
> org.apache.plc4x.java.s7.readwrite.protocol.S7ProtocolLogic.subscribe(S7ProtocolLogic.java:340)
>at
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.lambda$optimizedSubscribe$4(BaseOptimizer.java:120)
>at
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.send(BaseOptimizer.java:138)
>at
> org.apache.plc4x.java.spi.optimizer.BaseOptimizer.optimizedSubscribe(BaseOptimizer.java:120)
>at
> org.apache.plc4x.java.spi.connection.AbstractPlcConnection.subscribe(AbstractPlcConnection.java:183)
>at
> org.apache.plc4x.java.spi.messages.DefaultPlcSubscriptionRequest.execute(DefaultPlcSubscriptionRequest.java:65)
>at
> org.apache.plc4x.java.examples.helloplc4x.subscribe.HelloPlc4xSubscription.run(HelloPlc4xSubscription.java:63)
>at
> org.apache.plc4x.java.examples.helloplc4x.subscribe.HelloPlc4xSubscription.main(HelloPlc4xSubscription.java:98)
>
> I’m having this issue for both develop as 0.10 branch. Just sending this
> for the record, I will try to debug later but if someone has a suggestion
> please let me know.
>
> Regards,
> Willem
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Change the UI framework for the GUI application

2022-10-24 Thread Cesar Garcia
Hello,

Netbeans, all in one place.

1. Easy integration of libraries,
2. Graphical interface based on the venerable and stable Swing.
3. Graphing tools already available.

and much more.

Against, the learning curve.

I'm already over it

best regards,

El lun, 24 oct 2022 a las 10:07, Christofer Dutz ()
escribió:

> Hi all,
>
> today we noticed that JavaXF is GPL 2.0 (With classpath exception)
> licensed.
>
> As we don’t want to jump through all the hoops needed to release this in
> an Apache project, we are planning on switching the UI framework we are
> basing everything on.
>
> Any suggestions?
>
> We also might consider building a Web-based application instead …
> personally I’m open to all.
>
> However, I would really like feedback that’s not based on having heard
> something is cool but having first-hand experience with it. And even better
> if you’re willing to help execute the migration.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [VOTE] Move the Apache PLC4X Camel adapter to the Apache Camel project

2022-10-19 Thread Cesar Garcia
+1

El mar, 18 oct 2022 a las 12:52, Christofer Dutz ()
escribió:

> As discussed before:
>
> I would like to transfer the Apache PLC4X Camel adapter from Apache PLC4X
> into the Apache Camel project.
> I have discussed this with the Apache Camel folks and they would be happy
> to add it.
>
> So, I guess it’s time to make this official on our side.
>
> So please vote.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DRAFT] Board Report

2022-09-10 Thread Cesar Garcia
+1, looking forward

El sáb, 10 sept 2022 a las 9:29, Christofer Dutz ()
escribió:

> Hi folks
>
> It’s reporting time again ;-)
>
> I’m planning on posting the following report on Monday, would be cool to
> get some approval or feedback:
>
> Chris
>
>
>
>
>
> ## Description:
> The mission of the Apache PLC4X project is creating a set of libraries for
> communicating with industrial programmable logic controllers (PLCs) using a
> variety of protocols but with a shared API.
>
> ## Issues:
> There are currently no issues requiring board attention
>
> ## Membership Data:
> Apache PLC4X was founded 2019-04-17 (3 years ago)
> There are currently 20 committers and 13 PMC members in this project.
> The Committer-to-PMC ratio is roughly 5:4.
>
> Community changes, past quarter:
> - No new PMC members. Last addition was César García on 2021-10-01.
> - Iñigo Angulo Otegi was added as committer on 2022-08-29
>
> ## Project Activity:
>
> It's been an interesting quarter. The project has seen numerous different
> initiatives. Our BACNet driver has gotten a lot of attention, same with a
> new
> C-Bus driver. Our Beckhoff ADS driver has received a major overhaul. Work
> on
> some drivers (Especially PROFINET) has been taken over by other members of
> the
> community. A lot of progress has been made on the Browse and Discovery API.
> Besides that the community has been working on PLC4PY (PLC4X on Python),
> PLC4RS (PLC4X on Rust).
>
> We haven't had any releases in the last quarter.
>
> Our last releases were:
> 0.8.0 was released on 2021-01-28.
> 0.7.0 was released on 2020-05-25.
> 0.6.0 was released on 2020-03-01.
>
> However, we're currently tying up the last strings in preparation for our
> next
> release of version 0.10.0. Also will there be multiple presentations on
> PLC4X
> at the upcoming ApacheCon NA in New Orleans.
>
> ## Community Health:
> Communication-wise, it's been a pretty quiet quarter. I credit this to the
> fact that most people actively working on some of the features are working
> on
> them on their own, only syncing up every now and then. Nothing to be really
> concerned about. Looking at most of the metrics, most of them have
> increases
> from 70%-136% while the only decrease is on the dev@ and issues@ mailing
> lists
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [PROPOSAL] Implement a Java GUI application for browsing PLCs with PLC4X

2022-06-23 Thread Cesar Garcia
Hello,

+1,

I agree with this proposal, eventually I have been working with NetBeans
modules to implement this IDE.

Why NetBeans?

Pro

1. You already implement your modularity scheme for the grouping of the
libraries.
2. Well-known standard interface.
3. Tools for content integration (persistence, dynamization and help
management).
4. Data visualization tools already available.
5. Graphics module already available.
6. And of course It is from the Apache Foundation family (we eat our own
snack).

Against

1. It has its learning curve. Especially the "Lookup" concept.
2. It is not in vogue. For example against JavaFX.
3. It is bulky.

In the end, the most important thing is that we do not invent the wheel,
but rather that we use it.

Regarding the integration of the PLC4X drivers, and it is a point that I
don't know if it has been worked on, it is the representation of the
metadata, but that is another topic.

My grain of sand.

El jue, 23 jun 2022 a las 4:55, Christofer Dutz ()
escribió:

> Hi all,
>
> Again, I was in need of a simple application to simply monitor the values
> on a Modbus device (I’m currently configuring my Wago PFC200 Modbus Slave
> interface).
> I could use stuff like the “Modbus Poll” GUI tool, but my trial expired
> and I’m not willing to pay 130€ for this limited functionality.
>
> So, I thought, it would be an awesome addition to PLC4X if we had some
> sort of GUI application, that uses the Discover functionality to find
> possible PLCs and list them in a tree view.
> If the use double clicks on one of these connections, it connects and
> possibly executes the Browse functionality and lists up what it finds.
>
> I know that I could simply start working on something like that, but I
> thought this would also be a great thing for someone else to implement as
> it doesn’t require too deep knowledge of PLC4X internals.
>
> And I suck at building beautiful UIs :-)
>
> Anyone interested?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Let's settle on how to deal with BYTE, WORD, ...

2022-05-29 Thread Cesar Garcia
Hello Chris,

The application of IEC61131-3 for PLC manufacturers has always been a
history of "what I have and do not want to change" with respect to "what
should be".

The best example is my dear Simatic, which Siemens says complies with
IEC61131-3 [1], but when you go to reality it doesn't look anything like
it. that's why there are brave hearts like Oscat function libraries [2]
that try to even things out, but that's another story.

We should follow a bit the new neighbors in the neighborhood, like PLCNext
[3], and indicate our degree of compatibility.

My proposal for this case would be to ensure that our libraries are at
least compatible with the recommendations of IEC61131-3-2013, shown in*
"Figure 11 – Data type conversion rules – implicit and/or explicit
(Summary)"*.

For example, implement an abstract object type PlcValue, which already
implements the conversion on the received buffer from the PLC and which
triggers an exception if the conversion cannot be carried out. In the case
of Netty's ByteBuf [4] it does this transparently.

With this we can give the users of the libraries, the implicit and implicit
conversion in a transparent way.

My grain of sand

[1]
https://cache.industry.siemens.com/dl/files/748/109476748/att_845621/v1/IEC_61131_compliance_en_US.pdf
[2] http://www.oscat.de/
[3] https://www.plcnext.help/te/PLCnext_RuntimeAvailable_data_types.htm
[4] https://netty.io/4.1/api/io/netty/buffer/ByteBuf.html

El dom, 29 may 2022 a las 10:48, Christofer Dutz ()
escribió:

> Hi all,
>
> today again I'm wasting lots of time trying to align the way we are
> handling bit strings :-(
>
> According to IEC61131 the types: BYTE, WORD, DWORD and LWORD are bit
> strings ... therefore series of bits.
> However, many people treat BYTE as a numeric value.
> That's actually what USINT (Unsigned small int) and SINT (small int) are
> for.
> BYTE doesn't specify if signed or unsigned. In Java for example it would
> be signed, in go and C it would be unsigned.
>
> Now we did extend the BYTE, WORD, DWORD and LWORD with a getBooleanArray()
> method, however this doesn't really work nicely, as it's not part of the
> API and you explicitly have to cast it to PlcBYTE etc. in order to use it.
> And a PlcBYTE is not a list type. In parallel I did have the PlcBitString
> type, which was a List type and correctly handled the bit-stringyness.
>
> So, I would like to discuss with you all, how we are going to deal with
> these in the future and then do a VOTE on that and stick with it.
>
> My opinion is, that BYTE, WORD, DWORD and LWORD should be bit-strings and
> hereby Lists of Boolean values. If someone wants to read the numeric values
> on the PlcValues by using the getXYZ methods, they should fire exceptions
> telling the user that this is a BitString and if he wants to use a numeric
> value, he should use the numeric counterpart (and tell him which options
> there are: Like USINT for unsigned 8 bit, SINT for 8 bit signed instead of
> BYTE, ...).
>
> This mixing up of types is making it a nightmare to consistently maintain
> over multiple languages.
>
> What's your opinion on this?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Similarities between PLC and Arduino programming experiences

2022-05-09 Thread Cesar Garcia
Hi Peter,

I think you will find multiple answers to these concerns in the forums
dedicated to Automation.

The openplc open source project answers your first question. I sent you the
link in a previous email.

I have had to see some projects implemented with OpenPlc applying advanced
control techniques for the Oil industry, running on PC Embedded.
Although OpenPlc has basic libraries, you can take it to quite complex
applications, and you do not pay development software licenses.

When it comes to these developments, generally the clients, who are the
ones who pay, must be answered "what, when and how" their specific problem
will be solved. Therefore, the training, level of experience and expertise
in the area of knowledge to be developed are of weight for the assignment
of the work.

Regarding your second question, I dare to think that the models are very
similar, clearly depending on the specific process that you are going to
control. In the end, you must always ensure that your control box (plc or
embedded) responds in the time required by the process, if not, you will
have a serious problem (ask the programmers of the Boeing 737 MAX).

My grain of sand,

El lun, 9 may 2022 a las 14:48, Peter Saxton ()
escribió:

> I was surprised to see that PLC4x supports the Firmata protocol. This is
> something that is often used for talking to arduino scale embedded devices.
> I have been part of several discussions around where it would be possible
> to use alternative solutions to the traditional and expensive PLC. Has the
> development of a common API interface, that of PLC4x, over different
> hardware controllers given any insight on the following questions:
>
> 1. Why is there no established ecosystem for hobbiest level PLC
> programming? If you can't afford a PLC and all the associated licenses what
> do you fall back on to, is it embedded systems? Does that require moving
> from the standard PLC languages/environments for C/C++
> 2. PLC programming and embedded programming models appear very different.
> For example PLC programming model relies on a cycle or read all inputs at
> once, execute scan cycle, write all outputs at once, in arduino embedded
> reading a pin is executed at call time. Are these two models incompatible
> or more similar than they first appear?
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Scope of using PLC4x as simulated driver for PLC projects

2022-05-09 Thread Cesar Garcia
Hello,

The open plc project gives you the tools you need, a CPU core that runs as
a service on Linux and Windows, plus it has a full IEC IDE for development.
I think that is the way you should go.

https://www.openplcproject.com/

If you are adventurous, in this project you will find a Modbus server, with
which you can develop your application in java (like OSGi Bundles),
incomplete but battle tested.

https://github.com/glcj/Merlot

And if you're not adventurous, I recommend using CodeSys where the IEC IDE
is free, which includes the PLC simulator for Windows and Linux. The PLC
only runs for two hours without licenses, but you can purchase one for a
BlegleBon Black or Raspbery Pi, for about $100.

https://de.codesys.com/

The big brands (Siemens, AB, IsaSoft, etc) also have their trial usage
options, which you can try for about 15 days.

my grain of sand,







El lun, 9 may 2022 a las 14:09, Peter Saxton ()
escribió:

> Thanks for the thoughts.
>
> Would you recommend any one of the "soft PLC" projects that I should look
> at further.
> Certainly I think the idea of a PLC emulator is too ambitious.
> I think the minimum effort approach, though still lots of effort, is too
> run the PLC code using the standard propriety tools in a VM and the to
> drive the input output of this VM with software to simulate the connection
> to hardware.
>
> On Wed, May 4, 2022, at 11:18 AM, Łukasz Dywicki wrote:
> > Hey Chris,
> > Sorry for mixing authorship. I didn't check simulator since a while,
> > hence was not certain if its up to date.
> >
> > My point is about reusing network layer which PLC4X provides in order to
> > simulate a device. This is how you normally interact with PLC so it is a
> > natural way to make an "integration test" at this level. It is not
> > beyond typical BDD which is more about defining scenarios. How they are
> > actually executed depend on a BDD toolkits and how they integrate with
> > test or build environment.
> > I get that scope of Peter work is to emulate a PLC runtime, that's why I
> > mentioned IEC grammars (so he can somehow parse or compile entire
> > program), which is the hardest part.
> > Once program can be interpreted and executed (ie. by turning ST into
> > LLVM and firing graalvm or c runtime or simply running it with one of
> > existing tools such as openplc), the remaining part will be possible
> > after proper adoption of code generated from MSpec.
> > Looking at amount of "soft plc" projects I have no doubts that its
> > possible. Its just matter of how much time and simplifications we can
> > accept.
> > I agree that we don't have a capacity nor will to dive into even more
> > specific parts of how PLCs work. If somebody else has such interest I
> > will definitely look for results and see if we could improve our part
> > afterwards.
> >
> > Best,
> > Łukasz
> >
> > On 4.05.2022 09:09, Christofer Dutz wrote:
> >> Hi Lukasz,
> >>
> >> I intentionally didn't mention the simulator, as I understood Peter,
> that he's looking for something to run his PLC programs on for testing.
> Yes, the simulator we have could be used to simulate being a PLC, but it
> can't actually simulate the PLC itself. That's not the scope of that thing.
> I think implementing the internal stuff needed to create a simulator where
> you can deploy a program from TIA Portal is totally unthinkable,
> considering how many different PLCs are out there.
> >>
> >> Perhaps we should name it differently in order to manage expectations.
> "plc-mock"?
> >>
> >> And our simulator was actually created by me and it's up-to-date and we
> just recently checked that it still works with the StreamPipes folks, as
> they were looking for something to use in their StreamPipes
> integration-tests.
> >>
> >> Chris
> >>
> >> -Original Message-
> >> From: Łukasz Dywicki 
> >> Sent: Dienstag, 3. Mai 2022 22:47
> >> To: dev@plc4x.apache.org
> >> Cc: pe...@petersaxton.uk
> >> Subject: Re: Scope of using PLC4x as simulated driver for PLC projects
> >>
> >> Hey Peter, welcome on mailing lists. First of all thank you for showing
> a interest in a project and bringing interesting topic!
> >>
> >> Just to oppose a little bit what Chris says, I would say there is no
> real blocker for trying to do a PLC simulator within PLC4X. We do (or
> >> did) have a S7 simulator in sandbox already. It was built a while ago
> by Julian based on netty tcp server and I think 0.6 structures, so it might
> be a little bit behind of what we currently have in a develop branch.
> >>
> >> Technically speaking what you need in most of the cases is launching a
> TCP server (in case of ADS/Modbus/S7) or a serial receiver (Modbus RTU/till
> some degree CANopen) and answering requests which come over such
> communication channel. If you get closer to basic fieldbus like a Modbus
> RTU or CANopen difference between sending a request and answering it is not
> that large.
> >> Few remarks - we currently do not have any support beside mentioned
> 

Re: [DISCUSS] Rename "modbus" to "modbus-tcp"?

2022-03-10 Thread Cesar Garcia
Hi everyone,

+1,

Why not use the shorter name like "mb-tcp" , etc.?

Best regards,

El jue, 10 mar 2022 a las 11:07, Otto Fowler ()
escribió:

>  +1, this is in my experience how these “drivers” used to be presented in
> scada/hmi apps
>
>
>
> From: Christofer Dutz 
> 
> Reply: dev@plc4x.apache.org  
> Date: March 9, 2022 at 09:19:33
> To: dev@plc4x.apache.org  
> Subject:  [DISCUSS] Rename "modbus" to "modbus-tcp"?
>
> Hi all,
>
> I'm currently working on the modbus RTU stuff ... as in general the
> protocols are referred to modbus-tcp, modbus-rtu und modbus-ascii, I would
> like to rename the "modbus" to "modbus-tcp" ... While modbus-tcp will not
> be many variants, will the modbus-rtu and ascii also be available as
> "modbus-rtu:tcp" if a tcp tunnel is used.
>
> What do you think?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Extend PlcDriver with "supportedTransports"?

2022-01-09 Thread Cesar Garcia
How are they?

Not only the transport, but also the data structures of the items.

This would allow the user to have a reference of what you can request in
the items.

Looking to the future, this would be a must for the OPC-UA server.

Kind regards,

El dom, 9 ene 2022 a las 6:10, Christofer Dutz ()
escribió:

> Hi all,
>
> I know initially I built the Plc4X API to generally allow any form of
> driver to use any form of transport.
> However, this only would have worked in theory.
>
> I think we should probably have every driver provide a list of supported
> transports.
> This would also help make tool integration easier.
>
> If we see that for example sometimes, we have ModbusRTU passed along
> TCP/UDP connections via serial-to-ethernet adapters, we can definitely
> support that and if we come across a mode of operation, that we haven't
> encountered, it should be easy to extend.
>
> But this way we could ensure that we build the drivers in a way that they
> know what to expect.
>
> What do you think?
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Permanently move our monthly video call?

2021-12-20 Thread Cesar Garcia
+1

El lun, 20 dic 2021 a las 4:08, Christofer Dutz ()
escribió:

> Hi all,
>
> I would like to move our monthly call to the first Tuesday of the month
> (same time)
>
> If we leave it, I will not be participating on events that happen to be on
> even week numbers.
>
>
> Chris
>
>
> Holen Sie sich Outlook für Android
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [LAZY-CONSENSUS] Clean up in our branches?

2021-12-15 Thread Cesar Garcia
Hi everyone,

+1

s7event (I think this is
merged, right?)



El mié, 15 dic 2021 a las 5:23, Christofer Dutz ()
escribió:

> Hi all,
>
> I have just tried to revive a not so old branch (feature/plc4net) and that
> is a LOT of work.
>
> Considering how many super-old branches we have; I would like to propose
> to clean up all branches that haven't been touched for at least a year.
> (I know one or two I stripped from this list, because they were mine and I
> want to update them or they are release branches, which I think we should
> keep)
>
> Right now, we have 48 branches.
>
> The ones I would delete are:
>
> Stale for longer than 12 months:
> feature/code-gen-julian<
> https://github.com/apache/plc4x/tree/feature/code-gen-julian> (3 years)
> too-many-open-files<
> https://github.com/apache/plc4x/tree/too-many-open-files> (2 years)
> fix-netty-usage (2
> years)
> fix-bytebuff-leaks
> (2 years)
> feature/big_integer_support_on_driver_base<
> https://github.com/apache/plc4x/tree/feature/big_integer_support_on_driver_base>
> (2 years)
> feature/optimizer-for-next-gen<
> https://github.com/apache/plc4x/tree/feature/optimizer-for-next-gen> (2
> years)
> develop-test (2 years)
> feature/link-layer-discovery-protocol<
> https://github.com/apache/plc4x/tree/feature/link-layer-discovery-protocol>
> (2 years)
> feature/profinet
> (2 years)
> feature/plc-simulator<
> https://github.com/apache/plc4x/tree/feature/plc-simulator> (2 years)
> feature/bacnet-active<
> https://github.com/apache/plc4x/tree/feature/bacnet-active> (2 years)
> bugfix/close-eventloop-after-channel<
> https://github.com/apache/plc4x/tree/bugfix/close-eventloop-after-channel>
> (16 months)
> feature/parser-tracing<
> https://github.com/apache/plc4x/tree/feature/parser-tracing> (16 months)
> issue/PLC4X-258 (13
> months)
> feature/grpc-proxy
> (13 months)
> issue/PLC4X-252 (14
> months)
>
> Newer branches, that I think might be obsolete or forgotten to be deleted
> ...
> feature/sparkplug-gateway<
> https://github.com/apache/plc4x/tree/feature/sparkplug-gateway> (9 months)
> fix/modbus_string
> (is this obsolete? What's the status on this?)
> feature/profinet2
> (I think this is merged, right?)
> feature/updated-mspec-string<
> https://github.com/apache/plc4x/tree/feature/updated-mspec-string> (I
> think this is obsolete, right?)
> issue/PLC4X-304 (I
> think this is merged, right?)
> issue/PLC4X-311 (I
> think this is merged, right?)
> s7event (I think this is
> merged, right?)
>
> So, anyone wanting to keep one of these branches ... please reply in let's
> say the next 7 days and if I don't hear back from you, I'll delete the
> listed branches.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DRAFT] December PLC4X board report

2021-12-02 Thread Cesar Garcia
+1

El jue, 2 dic 2021 a las 11:07, Christofer Dutz ()
escribió:

> ## Description:
> The mission of the Apache PLC4X project is creating a set of libraries for
> communicating with industrial programmable logic controllers (PLCs) using a
> variety of protocols but with a shared API.
>
> ## Issues:
> There are currently no issues requiring board attention. I do see a bit of
> an
> absence of PMC coverage however regarding things cominig up on the
> mailinglists (dev and private)
>
> ## Description:
> The mission of the Apache PLC4X project is creating a set of libraries for
> communicating with industrial programmable logic controllers (PLCs) using a
> variety of protocols but with a shared API.
>
> ## Issues:
> There are currently no issues requiring board attention. I do see a bit of
> an
> absence of PMC coverage however regarding things cominig up on the
> mailinglists (dev and private)
>
> ## Membership Data:
> Apache PLC4X was founded 2019-04-17 (3 years ago)
> There are currently 19 committers and 13 PMC members in this project.
> The Committer-to-PMC ratio is roughly 5:4.
>
> Community changes, past quarter:
> - César García was added to the PMC on 2021-10-01
> - No new committers. Last addition was Thomas Frost on 2021-05-07.
>
> ## Project Activity:
> After finishing the work for the next release some members of the community
> have invested a lot of time into a complete refactoring of our codebase for
> the code-generation. This was needed in order to be able to support more
> situations needed for new drivers, but also for cleaning up stuff to make
> it
> more easily understandable for others. Others have been working on adding
> very
> cool new features to the S7 driver as well as working on the CAN-drivers.
>
> We had talks at 4 conferences:
> - ApacheCon @Home (2 Talks)
> - LF OSS-Summit (1 Talk)
> - Eclipse Con (1 Talk)
> - IoT Conference (1 Talk)
>
> ## Community Health:
> We are getting more and more reports of people using plc4x and getting bug
> reports. That's great. However contributions have been coming in from 11%
> less
> individuals compared to the previous quarter. Hopefully, in 2022 we will be
> able to do in-person events again, to strengthen the sense of community
> again.
> I am feeling as we are loosing grip of each other after 2 years of
> absolutely
> no in-person events. In the past especially these events have been helping
> with building the commnunity.
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Supported Datatypes for S7-1200 with PLC4J

2021-11-30 Thread Cesar Garcia
est that. Same with the Time datatypes.
>
> So, all in all, I thank you for your list of things we need to improve. I
> promise that we will work on this.
>
> However, I can't give you an ETA on which I personally will be able to
> work on this, as I'm currently working on other things. Perhaps someone in
> the community can jump in. Or even you might be interested in helping. If
> you think you are able to do that, I am more than willing to help mentor
> you.
>
> Chris
>
>
>
> -Original Message-
> From: Markus Franke 
> Sent: Dienstag, 30. November 2021 09:34
> To: dev@plc4x.apache.org
> Subject: AW: Supported Datatypes for S7-1200 with PLC4J
>
> Hi Cesar,
>
> so far my experiences are as follows:
>
> ​datatypereadwrite
> =
> BOOLok  ok
> BYTEok  ok(only bitwise)
> WORDok  ok(only bitwise)
> DWORD   ok  ok(only bitwise)
> SINTok  ok
> USINT   ok  ok
> INT ok  ok
> UINTok  ok
> DINTok  ok
> UDINT   ok  ok
> REALok  ok
> LREAL   nok nok
> CHARok  nok
> WCHAR   ok  nok
> STRING  nok nok
> WSTRING nok nok
> TIMEok  nok
> DATEok  nok
> TIME_OF_DAY ok  nok
>
> So it seems like writing is currently unsupported for quite a few
> datatypes.
> Also reading (W)STRING and LREAL seems to be an issue currently.
>
> Any comments on this?
>
> Thanks in advance,
> Markus
>
>
> 
> Von: Cesar Garcia 
> Gesendet: Montag, 29. November 2021 17:38
> An: Apache PLC4X 
> Betreff: Re: Supported Datatypes for S7-1200 with PLC4J
>
> Hi Markus,
>
> Can you put an example of the required formats?
>
> Best regards,
>
> El lun, 29 nov 2021 a las 11:27, Markus Franke ()
> escribió:
>
> > Dear all,
> >
> > I am currently connecting to a S7-1200 by using PLC4J 0.9.0.
> >
> > As I have problems with reading/writing certain datatypes from a
> > datablock, I was wondering whether there are currently any restriction
> > what kind of datatypes are actually supported for reading/writing with
> > this hardware setup?
> >
> > Thanks and best regards,
> > Markus
> >
>
>
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Supported Datatypes for S7-1200 with PLC4J

2021-11-29 Thread Cesar Garcia
Hi Markus,

Can you put an example of the required formats?

Best regards,

El lun, 29 nov 2021 a las 11:27, Markus Franke ()
escribió:

> Dear all,
>
> I am currently connecting to a S7-1200 by using PLC4J 0.9.0.
>
> As I have problems with reading/writing certain datatypes from a
> datablock, I was wondering whether there are currently any restriction what
> kind of datatypes are actually supported for reading/writing with this
> hardware setup?
>
> Thanks and best regards,
> Markus
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [NOTICE] Some additional changes to mspec

2021-11-26 Thread Cesar Garcia
Hi Chris,

What impact would it have on the existing mspec?

best regards,

El vie, 26 nov 2021 a las 8:41, Christofer Dutz ()
escribió:

> Hi all,
>
> as I'm currently working hard on making the Java code generation strongly
> typed, I ran into a problem:
> For typeSwitches we can't infer the types of the switch case constants as
> the inputs were expressions.
>
> A quick search resulted in the fact, that not a single time were we
> actually using expressions, in all cases the input were variable literals.
>
> So Sebastian and I refactored the code-gen and the mspec parsers to now
> only allow variable literals as inputs. The only obvious change this
> brings, is that now no longer the expression-ticks are allowed.
>
> Second change is that constant fields had "expressions" as values. However
> this is actually not correct as constant fields can only have constants (If
> in java we had a const field with an expression, it wouldn't compile).
> So we also changed constant fields to only allow valueLiterals, which are
> eigher bool, numeric (int or float), string or hexadecimal values. Now here
> also the expression ticks need to be omitted.
>
> With these changes, I can now infer the type of a discriminator value and
> then correctly output the constant value (Like adding the "L" suffix to
> uint32 hex constants) ... this is what I'm going to work on next.
>
> Hopefully after that's done, I'll be able to finish the PROFINET driver.
> (Famous last words)
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Driver PLC4J S7

2021-11-17 Thread Cesar Garcia
Jeje, I don't understand the German sense of humor, but I've always said
that the PLC4X team has done an excellent job, and it's always a pleasure
to be able to help with something, it's just my grain of sand

El mié, 17 nov 2021 a las 13:03, Christofer Dutz ()
escribió:

> Cool ... didn't know we were doing things sub-ideal ... but hey ... PLCs
> were new to me ;)
> Perhaps this can also help with the LOGO .. but I would not expect it to
> help.
>
> Chris
>
> -Ursprüngliche Nachricht-
> Von: Cesar Garcia 
> Gesendet: Mittwoch, 17. November 2021 17:41
> An: Apache PLC4X 
> Betreff: Re: Driver PLC4J S7
>
> Hello Chris,
>
> Yes, I will verify, I know I saw the problem and just ignored it to
> continue my tests. Given that we can now ask for the partial diagnostic
> lists (SZL), it is easier to carry out tests, which is the way in which the
> driver detects the type of device.
>
> Working on it, 
>
> El mié, 17 nov 2021 a las 12:28, Christofer Dutz (<
> christofer.d...@c-ware.de>)
> escribió:
>
> > HI Cesar,
> >
> > if you assign it in the connection string, it just skips the detection
> > and sets the same variable to the same value as if you had auto-detected
> it.
> >
> > However ... if the auto detection is causing problems, perhaps this is
> > something worth fixing. I know the LOGO devices just hang up if you
> > ask them to identify themselves, but for the real S7 devices, we
> > should make sure this works.
> >
> > Chris
> >
> >
> > -Ursprüngliche Nachricht-
> > Von: Cesar Garcia 
> > Gesendet: Mittwoch, 17. November 2021 15:37
> > An: Apache PLC4X 
> > Betreff: Re: Driver PLC4J S7
> >
> > Hello,
> >
> > Thanks for your comments,
> >
> > Yes, my target is those S7-300 and S7-400 computers, I forget the new
> > neighbors in the neighborhood.
> >
> > As Chris points out, there is already the automatic detection of the
> > PLC type, but in particular I prefer to assign it in the URL since in
> > some scenario it fails, but I do not have it in my memory.
> >
> > I will test type detection with different equipment, add type
> > discrimination for subscription, and document it so the point is clear
> > to users.
> >
> > Best regards,
> >
> > El mié, 17 nov 2021 a las 5:47, Christofer Dutz (<
> > christofer.d...@c-ware.de>)
> > escribió:
> >
> > > Hi Lukasz,
> > >
> > > thanks for bringing this up ... I mentioned it on slack too.
> > > I am very happy with all of the recent extensions, but also we
> > > already had first support requests from people trying to use the
> > > subscription on non-compatible devices. So I would also like to see
> > > the driver more context aware ... we already do the identification
> > > as part of the connection process and should be easily available to
> > > the driver implementation. If this identification doesn't identify
> > > all types of devices (You mentioned some non-s7 devices) I am happy
> > > to help with
> > extending the auto-detection.
> > >
> > > The S7DriverContext type has a controllerType enum value for this ...
> > > if the Enum S7ControllerType needs any addition, feel free to add them.
> > >
> > > Chris
> > >
> > >
> > >
> > > -Ursprüngliche Nachricht-
> > > Von: Łukasz Dywicki 
> > > Gesendet: Mittwoch, 17. November 2021 09:33
> > > An: dev@plc4x.apache.org
> > > Betreff: Re: Driver PLC4J S7
> > >
> > > Hey Cesar,
> > > I see that you do awesome progress with all complicated parts of S7
> > > communication. By looking at code and updated docs I see that most
> > > of this functionality is intended for S7-400 and will not work with
> > > low end S7-1200. This brings me to a question if our present
> > > "PlcConnection.canSubscribe()" method is sufficient to let know user
> > > application that it can subscribe? Does it return false for S7-1200
> > > and true for 300 and 400?
> > >
> > > Main question is how we could keep user applications aware of
> > > subscription possibilities without complicating PLC4X end too much.
> > > If subscription support is similar (alarm, mode, user) and available
> > > only in higher end models then we can live with current APIs, but if
> > > subscription support vary between models we need to think how to
> > > express that to end user. After all doing a subscription request
> > 

Re: Driver PLC4J S7

2021-11-17 Thread Cesar Garcia
Hello Chris,

Yes, I will verify, I know I saw the problem and just ignored it to
continue my tests. Given that we can now ask for the partial diagnostic
lists (SZL), it is easier to carry out tests, which is the way in which the
driver detects the type of device.

Working on it, 

El mié, 17 nov 2021 a las 12:28, Christofer Dutz ()
escribió:

> HI Cesar,
>
> if you assign it in the connection string, it just skips the detection and
> sets the same variable to the same value as if you had auto-detected it.
>
> However ... if the auto detection is causing problems, perhaps this is
> something worth fixing. I know the LOGO devices just hang up if you ask
> them to identify themselves, but for the real S7 devices, we should make
> sure this works.
>
> Chris
>
>
> -Ursprüngliche Nachricht-
> Von: Cesar Garcia 
> Gesendet: Mittwoch, 17. November 2021 15:37
> An: Apache PLC4X 
> Betreff: Re: Driver PLC4J S7
>
> Hello,
>
> Thanks for your comments,
>
> Yes, my target is those S7-300 and S7-400 computers, I forget the new
> neighbors in the neighborhood.
>
> As Chris points out, there is already the automatic detection of the PLC
> type, but in particular I prefer to assign it in the URL since in some
> scenario it fails, but I do not have it in my memory.
>
> I will test type detection with different equipment, add type
> discrimination for subscription, and document it so the point is clear to
> users.
>
> Best regards,
>
> El mié, 17 nov 2021 a las 5:47, Christofer Dutz (<
> christofer.d...@c-ware.de>)
> escribió:
>
> > Hi Lukasz,
> >
> > thanks for bringing this up ... I mentioned it on slack too.
> > I am very happy with all of the recent extensions, but also we already
> > had first support requests from people trying to use the subscription
> > on non-compatible devices. So I would also like to see the driver more
> > context aware ... we already do the identification as part of the
> > connection process and should be easily available to the driver
> > implementation. If this identification doesn't identify all types of
> > devices (You mentioned some non-s7 devices) I am happy to help with
> extending the auto-detection.
> >
> > The S7DriverContext type has a controllerType enum value for this ...
> > if the Enum S7ControllerType needs any addition, feel free to add them.
> >
> > Chris
> >
> >
> >
> > -Ursprüngliche Nachricht-
> > Von: Łukasz Dywicki 
> > Gesendet: Mittwoch, 17. November 2021 09:33
> > An: dev@plc4x.apache.org
> > Betreff: Re: Driver PLC4J S7
> >
> > Hey Cesar,
> > I see that you do awesome progress with all complicated parts of S7
> > communication. By looking at code and updated docs I see that most of
> > this functionality is intended for S7-400 and will not work with low
> > end S7-1200. This brings me to a question if our present
> > "PlcConnection.canSubscribe()" method is sufficient to let know user
> > application that it can subscribe? Does it return false for S7-1200
> > and true for 300 and 400?
> >
> > Main question is how we could keep user applications aware of
> > subscription possibilities without complicating PLC4X end too much. If
> > subscription support is similar (alarm, mode, user) and available only
> > in higher end models then we can live with current APIs, but if
> > subscription support vary between models we need to think how to
> > express that to end user. After all doing a subscription request which
> > fails is least effective way to find that driver and connected plc does
> not support specific subscription kind.
> >
> > Best,
> > Łukasz
> >
> > śr., 17 lis 2021 o 06:43 Cesar Garcia 
> > napisał(a):
> >
> > > Hello,
> > >
> > > This PR includes the following features for the S7 driver.
> > >
> > > 1. Subscribe to Alarm8.
> > >2. Recognition of events.
> > >3. Alarm text processing.
> > >4. Subscription to cyclical values.
> > >5. Diagnostic Record Readings (SZL).
> > >6. Proposal for documentation.
> > >
> > > Thank you very much for your support in the documentation proposal,
> > > several sections are missing, but I think your observations are
> > > extremely important.
> > >
> > > Best regards,
> > >
> > > --
> > > *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 ASOCI

Re: Driver PLC4J S7

2021-11-17 Thread Cesar Garcia
Hello,

Thanks for your comments,

Yes, my target is those S7-300 and S7-400 computers, I forget the new
neighbors in the neighborhood.

As Chris points out, there is already the automatic detection of the PLC
type, but in particular I prefer to assign it in the URL since in some
scenario it fails, but I do not have it in my memory.

I will test type detection with different equipment, add type
discrimination for subscription, and document it so the point is clear to
users.

Best regards,

El mié, 17 nov 2021 a las 5:47, Christofer Dutz ()
escribió:

> Hi Lukasz,
>
> thanks for bringing this up ... I mentioned it on slack too.
> I am very happy with all of the recent extensions, but also we already had
> first support requests from people trying to use the subscription on
> non-compatible devices. So I would also like to see the driver more context
> aware ... we already do the identification as part of the connection
> process and should be easily available to the driver implementation. If
> this identification doesn't identify all types of devices (You mentioned
> some non-s7 devices) I am happy to help with extending the auto-detection.
>
> The S7DriverContext type has a controllerType enum value for this ... if
> the Enum S7ControllerType needs any addition, feel free to add them.
>
> Chris
>
>
>
> -Ursprüngliche Nachricht-
> Von: Łukasz Dywicki 
> Gesendet: Mittwoch, 17. November 2021 09:33
> An: dev@plc4x.apache.org
> Betreff: Re: Driver PLC4J S7
>
> Hey Cesar,
> I see that you do awesome progress with all complicated parts of S7
> communication. By looking at code and updated docs I see that most of this
> functionality is intended for S7-400 and will not work with low end
> S7-1200. This brings me to a question if our present
> "PlcConnection.canSubscribe()" method is sufficient to let know user
> application that it can subscribe? Does it return false for S7-1200 and
> true for 300 and 400?
>
> Main question is how we could keep user applications aware of subscription
> possibilities without complicating PLC4X end too much. If subscription
> support is similar (alarm, mode, user) and available only in higher end
> models then we can live with current APIs, but if subscription support vary
> between models we need to think how to express that to end user. After all
> doing a subscription request which fails is least effective way to find
> that driver and connected plc does not support specific subscription kind.
>
> Best,
> Łukasz
>
> śr., 17 lis 2021 o 06:43 Cesar Garcia 
> napisał(a):
>
> > Hello,
> >
> > This PR includes the following features for the S7 driver.
> >
> > 1. Subscribe to Alarm8.
> >2. Recognition of events.
> >3. Alarm text processing.
> >4. Subscription to cyclical values.
> >5. Diagnostic Record Readings (SZL).
> >6. Proposal for documentation.
> >
> > Thank you very much for your support in the documentation proposal,
> > several sections are missing, but I think your observations are
> > extremely important.
> >
> > Best regards,
> >
> > --
> > *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: +58 414-760.98.95*
> >
> > *Hotline Técnica SIEMENS: 0800 1005080*
> >
> > *Email: support.aan.automat...@siemens.com
> > *
> >
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Driver PLC4J S7

2021-11-16 Thread Cesar Garcia
Hello,

This PR includes the following features for the S7 driver.

1. Subscribe to Alarm8.
   2. Recognition of events.
   3. Alarm text processing.
   4. Subscription to cyclical values.
   5. Diagnostic Record Readings (SZL).
   6. Proposal for documentation.

Thank you very much for your support in the documentation proposal, several
sections are missing, but I think your observations are extremely important.

Best regards,

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Visitor pattern

2021-11-10 Thread Cesar Garcia
Hi Chris,

By having the behavior of the driver defined, each object generated by the
driver (based on the mspec) must add its control logic.

In general, the way to solve the answers is based on the differentiation of
the classes in two ways, using "instanceof" or checking the values of the
"properties".

In code it would be something like this:

if (payloadItems[0] instanceof
S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse) {
...
} else if (payloadItems[0] instanceof
S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse) {
...
} else if (payloadItems[0] instanceof
S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse) {
...
}  else if (payloadItems[0] instanceof
S7PayloadUserDataItemCpuFunctionAlarmAckResponse) {
...
}   else if (payloadItems[0] instanceof
S7PayloadUserDataItemCpuFunctionAlarmAckErrorResponse) {
...
}

An so on, and

if ((myparameter.getCpuFunctionGroup() == 0x04) &&
(myparameter.getCpuFunctionType() == 0x00) &&
(myparameter.getCpuSubfunction() == 0x03)) {
...
} else if ((myparameter.getCpuFunctionGroup() == 0x02) &&
(myparameter.getCpuFunctionType() == 0x00) &&
(myparameter.getCpuSubfunction() == 0x01)){
...
} else if  ((myparameter.getCpuFunctionGroup() == 0x02) &&
(myparameter.getCpuFunctionType() == 0x00) &&
(myparameter.getCpuSubfunction() == 0x05)) {
...
}

And so on

This is something that works and solves the problem, it is not in
discussion, and it is a good interceptor point for other languages, but how
can we help make it more readable and automatic from the mspec.


@startuml
interface Message
Message : public void accept(MessageVisitor visitor);

class S7PayloadUserDataItem
Message <-- S7PayloadUserDataItem
S7PayloadUserDataItem <--
S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse
S7PayloadUserDataItem <--
S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse
S7PayloadUserDataItem <--
S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse
S7PayloadUserDataItem <-- S7PayloadUserDataItemCpuFunctionAlarmAckResponse
S7PayloadUserDataItem <--
S7PayloadUserDataItemCpuFunctionAlarmAckErrorResponse

S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse : public void
accept(MessageVisitor visitor);
S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse : public void
accept(MessageVisitor visitor);
S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse : public void
accept(MessageVisitor visitor);
S7PayloadUserDataItemCpuFunctionAlarmAckResponse : public void
accept(MessageVisitor visitor);
S7PayloadUserDataItemCpuFunctionAlarmAckErrorResponse : public void
accept(MessageVisitor visitor);
@enduml

The only code required within each generated instance is

S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse() {
...
   public void accept(MessageVisitor visitor) {
   v.visit(this);
   }
...
}

Now the visitor interface can be generated manually or from the mspec.

@startuml
interface S7MessageVisitor
S7MessageVisitor : public void
visit(S7PayloadUserDataItemCpuFunctionMsgSubscriptionResponse visitable);
S7MessageVisitor : public void
visit(S7PayloadUserDataItemCpuFunctionMsgSubscriptionSysResponse visitable);
S7MessageVisitor : public void
visit(S7PayloadUserDataItemCpuFunctionMsgSubscriptionAlarmResponse
visitable);
S7MessageVisitor : public void
visit(S7PayloadUserDataItemCpuFunctionAlarmAckResponse visitable);
S7MessageVisitor : public void
visit(S7PayloadUserDataItemCpuFunctionAlarmAckErrorResponse visitable);
@enduml

Having this interface defined, we can implement directly on the protocol
logic object, in the case of S7 "S7ProtocolLogic".

After implementing the logic associated with the objects, the main code
would look like:

...
payloadItems [0] .accept (this);
...

Something more elegant, I think.

For the control of the state machine we would surely have to pass specific
parameters, so the interface of the visitors should be something like:

public void accept (MessageVisitor visitor, Object ... args);

or something similar,

As for why this pattern applies to our case.

1. The objects associated with the protocol do not change over time, unless
the protocol is changed, which in itself is another protocol.
2. The objects generated by the mspec only have properties and not
associated logic.
3. The logic associated with each object can be implemented by the Visitor
pattern, which from my point of view generates more organized code, while
remaining optional.

My grain of sand,




El mar, 9 nov 2021 a las 5:45, Christofer Dutz ()
escribió:

> Hi Cesar,
>
> could you possibly whip up some example code that shows how it's currently
> done and how you propose to do it?
>
> Sebastian and I are currently greatly refactoring the code-generation, so
> now would be a perfect time for optimizing things.
>
> Chris
>
> -Ursprüngliche Nachricht-
> Von: Cesar Garcia 
> Gesendet: Montag, 8. N

Visitor pattern

2021-11-08 Thread Cesar Garcia
Hi everyone,

I have a query for you.

In the case of mspec for Java, would it be possible to include the VSD
(Visitor Design Pattern) in the generated classes?

This is because most of the code uses "instanceof" for the differentiation
of the message objects in the implementation of the S7 driver, this in
conjunction with the field values.

With this pattern we could have a much more elegant driver in the
implementation.

If you have observations it would be interesting to hear them,

Best regards,

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: some problems with S7 cyclic subscriptions

2021-11-04 Thread Cesar Garcia
Hi Guido,

The subscription feature for Siemens plcs is currently in the oven, I can
safely support you in that regard.

If you have a hybrid architecture, with S7-300 and S7-1500 (1200) devices,
it is important to point out that the new S7-1500 series only supports a
subset of the features of the S7-300, so it does not include the
possibility of reeralize S7 subscriptions.

In summary, the S7-1200 & S7-1500 only support PUT / GET.

Currently the variable and alarm subscription is functional for the S7-300,
S7-400. For the VIPA and Sinamics G120PN equipment (and other drivers) I
hope to have the equipment soon.

In [1] you can find an example code for the subscription process. (It's
testing code!)

In [2] you will find the development branch which I hope to request the PR
shortly. But eventually you can test the subscription and other new
features.

I am dedicating  to finalize the alarm processor and carry out tests to
continue with the documentation, so any feedback from you is welcome.

Best regards,

1.
https://github.com/glcj/PLC4XS7ExamplesV9/blob/master/src/main/java/com/ceos/plc4x/s7/PLCAlarmAck.java

2. https://github.com/glcj/plc4x/tree/s7szl





El jue, 4 nov 2021 a las 6:06, Rennert, Guido ()
escribió:

> Hello,
>
>
>
> as a complete newbie in Java, S7 and PLC4X it does not help - if I have to
> get some data from a Siemens-PLC. We decided to use PLC4X and as always
> there can occur some little problems. Now I am involved in using PLC4X for
> about one week.
>
>
>
> Ok let me first say what I use at the moment:
>
>- Java 11 64-Bit-Version on Intel (Windows 10) and Arm-System (Debian)
>- PLC4X version 0.9.0 (but I tested in this case 0.10.0-SNAPSHOT, too)
>- Siemens S7-300, S7-1500 (Software-PLC) and hopefully some more types
>in the next weeks
>
>
>
> As preparation for more functionality I created an ugly short test
> program, which does some reading out of a data block. This is really
> running fine an I was surprised to get to this point in really a short
> time. So I think that the PLC4X is a well kind of stuff.
>
>
>
> To improve at second the reading of data out of the PLC I tried to use the
> possibility of ‘subscription’ – unfortunately this has been without success
> the last 2 days. So I decided to ask what I am doing wrong.
>
>
>
> As an attachment there are some more information to be found as pictures
> and some text parts.
>
>
>
> Explanation:
>
>
>
> I try to establish a subscription request by doing the builder and execute
> the request afterwards (attachment Source_SubscriptionRequest.txt):
>
>
>
>
> *// Create a new subscription request cyclic mode only ! 
> *PlcSubscriptionRequest.Builder
> builder = plcConnection.subscriptionRequestBuilder();
>
> *for *(String searchName : deviceData.*dataMap*.keySet()) {
> *switch *(deviceData.getSubscriptionType(searchName)) {
> *case **"CYCLIC"*: {
> builder.addCyclicField(searchName,
> deviceData.getDataPlaceAndType(searchName), Duration.*ofMillis*(Integer.
> *valueOf*(deviceData.getSubscriptionTime(searchName;
> };*break*;
> *case **"ONCHANGE"*: {
> *// TODO add onchange subscription builder*
> };*break*;
> *case **"ONEVENT"*: {
> *// TODO add onevent subscription builder*
> };*break*;
> *default*: {
>
> };*break*;
> }
> }
>
> *// finalize the subscription builder *PlcSubscriptionRequest
> subscriptionRequest = builder.build();
>
>
> *// activate the subscriptions now (here it doesn't matter if you use the
> synchronize or asynchronize approach) *PlcSubscriptionResponse
> plcSubscriptionResponse = subscriptionRequest.execute().get(20, TimeUnit.
> *SECONDS*);
>
> *// PlcSubscriptionResponse plcSubscriptionResponse =
> subscriptionRequest.execute().get(); // PlcSubscriptionResponse
> plcSubscriptionResponse = subscriptionRequest.execute().get(5000,
> TimeUnit.MILLISECONDS);*
>
>
>
> The ‘deviceData’-class contains all configuration values which are read
> out of a very simple properties-file. The picture ‘Debug_BuilderInfo.PNG’
> shows the content of the two entries and I think they are OK so far.
>
> The property-file contains these information about the entries:
>
>
>
> # data address is the physical address inside the plc and the type
> data_set_001=TEST_BIT0|%DB100:0.0:BOOL|BOOL|CYCLIC|333
> data_set_002=TEST_BIT1|%DB100:0.1:BOOL|BOOL|CYCLIC|444
>
>
>
> The fieldname in the first line will be later ‘TEST_BIT0’ the address and
> type will be ‘%DB100:0.0:BOOL’  it should be a cyclic mode ‘CYCLIC’ and the
> cycle time should be ‘333’ [ms]. The other values in the line are not used
> inside the program (maybe later but not now).
>
>
>
>
>
> Unfortunately this will lead me to an error I can’t resolve now. (the out
> is the attachment Console_OutputOnError.txt)
>
>
>
> "C:\Program
> Files\Java\openjdk-11.0.8.10-2.windows.redhat.x86_64\bin\java.exe"
> 

Re: [DISCUSS] Add some sort of RAW datatype?

2021-10-30 Thread Cesar Garcia
Hi everyone,

Hello,

Excellent, definitely help for type conversion.

Kind regards,

El sáb, 30 oct 2021 a las 9:23, Christofer Dutz ()
escribió:

> Hi all,
>
> We recently added the mspec simple type "byte" in order to work with
> byte-data without having to care about, if this is a signed byte (like in
> Java) or an unsigned byte (like everywhere else) ... being able to work
> with byte[] makes a lot of things a lot easier.
>
> Now I thought: What if our users want to do the same? If they use a
> BYTE-array something pretty unfortunate happens, as each byte is split up
> into 8 bit/BOOL. Unfortunately we currently don't have the same option to
> pass along bytes to the users application. So I thought: How about we add a
> type "RAW" (As byte is already defined otherwiese) and this simpy returns a
> "byte" or "byte[]" in case of reading an array of values?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


S7 driver new features

2021-10-24 Thread Cesar Garcia
Hi everyone,

In the case of the S7 driver, I will indicate the updates that I am about
to finish, awaiting your kind comments.

1. Reading the partial diagnostic list (SZL).
 With this function it is possible to read the diagnostic files of the PLC.
It gives us the ability to determine the quality of the acquired values
based on the diagnostics of the CPU or the associated periphery.

builder.addItem ("MySZL", "SZL_ID = 16 # 0011; INDEX = 16 # ");

As shown in the construction of the previous item, the diagnosis ID and an
index associated with the partial list can be indicated.

2. Cyclical data reading (CYC).

It will allow two types of data reads from the PLC in subscription mode.
The S7ANY type, which corresponds to any addressable address with an ANY
pointer inside the PLC, and the DBREAD reading for very efficient reading
of data from DB in S7-400 PLC.

The reading process is synchronous from the PLC, this means that the values
are sent by a PUSH process from the PLC.

For this purpose, there are three time bases with a multiplier to adjust
the sampling times, such as:

B01SEC: 0.1 Second (100 mseconds).
B1SEC: 1 Second.
B10SEC: 10 Seconds.

To this field you must add a multiplication factor that will allow you to
adjust the scan times.

subscription.addEventField ("myCYC1", "CYC (B01SEC: 1):% MB2.0:
BYTE [10],% MB200.0: BYTE [10]");
subscription.addEventField ("myCYC2", "CYC (B1SEC: 2):% MB30.0:
BYTE [30]");

In the previous lines a plot of acquisition of two different areas is
shown. The first at 0.1 seconds and the second at 2 seconds.

In the case of DBREADs, this only applies to high-end S7-400 equipment

subscription.addEventField ("myCYC3", "CYC (B01SEC: 1):%
DB200.DBB12 [20]");

In this case it only applies to DB as shown in the configuration line.

3. ALARM8 reception

Here a complement will be made for the reception of this type of alarms.
The S7 driver already supports ALARMS which only allows the sending of a
data field.

If available, I will try to make a GUI demo to present the characteristics
of the driver. Kind regards,

Best regards,

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Reassembled Packed for S7 Drive

2021-10-11 Thread Cesar Garcia
Hi everyone,

I have a problem with reconstructing messages for the S7 driver.

In the code that I attach I need to retrieve the data returned by the
Payload, in order to complete the response of the driver.

I have already tried all the recommendations that can be found on
StackOverflow, but I have not been able to retrieve that data.

Everything remains in the closure.

Thanking you for your support

context.sendRequest(request)
.onTimeout(e -> {
logger.warn("Timeout during Connection establishing, closing
channel...");
context.getChannel().close();
})
.expectResponse(TPKTPacket.class, REQUEST_TIMEOUT)
.check(p -> p.getPayload() instanceof COTPPacketData)
.unwrap(p -> ((COTPPacketData) p.getPayload()))
.check(p -> p.getPayload() instanceof S7MessageUserData)
.unwrap(p -> ((S7MessageUserData) p.getPayload()))
.check(p -> p.getPayload() instanceof S7PayloadUserData)
.handle(messageUserData -> {
//TODO: How do I get the received data from here?
//  Sure, I check everything on StackOverflow
logger.debug("Got reassembled packed");

S7PayloadUserData payloadUserData = (S7PayloadUserData)
messageUserData.getPayload();
S7PayloadUserDataItemCpuFunctionReadSzlResponse reassembledItem
= (S7PayloadUserDataItemCpuFunctionReadSzlResponse)
payloadUserData.getItems()[0];


*//I need to retrieve the data from the lambda
hmMessageUserData.put(sequenceNumber, messageUserData);*

S7ParameterUserData parameters = (S7ParameterUserData)
messageUserData.getParameter();
S7ParameterUserDataItemCPUFunctions parameteritem =
(S7ParameterUserDataItemCPUFunctions) parameters.getItems()[0];
if (parameteritem.getLastDataUnit() == 1)
reassembledMessage(sequenceNumber,plcValues);
});

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Apache PLC4X 0.9.0 RC2

2021-09-20 Thread Cesar Garcia
Hi,

+1

. Download all staged artifacts under the url specified in the release vote
email into a directory we’ll now call OK
. Verify the SHA512 hashes, OK
. Unzip the archive, OK
. Verify the existence of LICENSE, NOTICE, README, RELEASE_NOTES files in
the extracted source bundle. OK
. Run RAT externally to ensure there are no surprises. OK
. Search for SNAPSHOT references. OK (Only in Jenkins)
. Build the project according to the information in the README.md file. OK


Excellent work Chris,



El sáb, 18 sept 2021 a las 12:15, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> This is the discussion thread for the corresponding VOTE thread.
>
>
>
> Please keep discussions in this thread to simplify the counting of votes.
>
>
>
> If you have to vote -1 please mention a brief description on why and then
> take the details to this thread.
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: PR: S7Event

2021-08-13 Thread Cesar Garcia
Hello Chris,

Do not worry, always grateful for your time and the rest of your colleagues.

On GitHub, I did the PR for the modifications required for handling events
in S7, however the amount of modifications and new class files associated
with the modification is evident.

>From this point on, what are the steps to follow? Eventually the files must
be matched and new ones added, but I understand that they go through an
approval cycle.

You can lend me your support to advance in the incorporation of the PR.

Grateful,

El vie, 13 ago 2021 a las 11:31, Christofer Dutz ()
escribió:

> Hi Cesar,
>
> sorry for not having responded earlier ... how can I help you?
>
> Chris
>
>
> -Ursprüngliche Nachricht-
> Von: Cesar Garcia 
> Gesendet: Donnerstag, 12. August 2021 04:03
> An: Apache PLC4X 
> Betreff: PR: S7Event
>
> Hello,
> Set the PR for event handling with the S7 driver.
>
> With this PR it is possible to receive asynchronously the events of the
> PLC S7-300, S7-400 & VIPA, as well as the VFD G120 PN which generates
> ALARM_S for its diagnostics.
>
> I annex the files that are indicated as with differences, I require your
> help to match the files since it is indicated that it must be a person with
> administrative rights.
>
> Thanking you for your help and guidance,
>
>
>
> Conflicting files
>
> build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java
> plc4j/drivers/pom.xml
>
> plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
> protocols/s7/src/main/resources/protocols/s7/s7.mspec
>
>
>
>
>
>
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


PR: S7Event

2021-08-11 Thread Cesar Garcia
Hello,
Set the PR for event handling with the S7 driver.

With this PR it is possible to receive asynchronously the events of the PLC
S7-300, S7-400 & VIPA, as well as the VFD G120 PN which generates ALARM_S
for its diagnostics.

I annex the files that are indicated as with differences, I require your
help to match the files since it is indicated that it must be a person with
administrative rights.

Thanking you for your help and guidance,



Conflicting files
build-utils/language-java/src/main/java/org/apache/plc4x/language/java/JavaLanguageOutput.java
plc4j/drivers/pom.xml
plc4j/drivers/s7/src/main/java/org/apache/plc4x/java/s7/readwrite/protocol/S7ProtocolLogic.java
protocols/s7/src/main/resources/protocols/s7/s7.mspec






-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Allen Bradley DF1 Stimulator

2021-08-10 Thread Cesar Garcia
Hi,

You can try,

ModRSsim2 download | SourceForge.net


Modbus + DF1 Simulator,

I haven't tested DF1 support, but sharing your results would help.

El lun, 9 ago 2021 a las 21:49, Gaurav P () escribió:

> Hi Team ,
>
> I need to PLC4x for deployment on AB PLC 500 via DF1 protocol,
>
> since i dont have access to PLC  right now I was thinking to test on some
> stimulator , if any one knows some free stimulator , please let me know
>
>
> Regards ,
> Gaurav
>
> --
> B*e * the *Ch*ange
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [Reminder] Apache PLC4X community call August 4th 2021

2021-08-03 Thread Cesar Garcia
Hi,

Please send the Zoom invitation.

Bestregards

El mar, 3 ago 2021 a las 16:32, Łukasz Dywicki ()
escribió:

> May the August be with you,
> This message is a reminder that closest Wednesday 4th August 2021 is a
> first Wednesday of the month. This means that we have our community call
> hosted at zoom.
> Given that, next event will be held in September this is last chance to get
> summer drinks with the team!
>
> Kind regards,
> Łukasz
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [S7] String Write support?

2021-07-11 Thread Cesar Garcia
Hi Chris,

I'll keep an eye on it,

Best regards,


El dom, 11 jul 2021 a las 9:03, Christofer Dutz ()
escribió:

> Hi all,
>
> a question on Stack-Overflow pointed me toward the fact that we
> currently don't support writing of string values to a S7 PLC. I guess
> this is just a left-over from the early days.
>
> Would anyone here we willing to work on this and has the time to do so?
>
> I would preferably continue working on the PROFINET support.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Help required on Beckhoff PLC connection to a JAVA OSGi Framework project

2021-06-09 Thread Cesar Garcia
Hi Palaniswamy,

Welcome to the list of PLC4X,

As Lukasz very well points out, the design of the PLC4X drivers for Java
are based on SPI, so they present some details for their use in an OSGi
environment.

I work with Karaf, I do not know the container that you indicate but I will
take the time to evaluate it since it is in my line of work.

The Apache Aries SPI project supports SPI in an OSGi environment so it is a
matter of following what the manual establishes.

There are cases of dependencies and accesses between instances that tend to
be a bit cumbersome, but generally solvable.

In the development branch 0.9.0-SNAP ... I am incorporating what is
required for the libraries to work in Karaf, eventually a dependency
problem is already solved and I have the S7 Driver working.

What is my recommendation:

1. Be patient. :-)
2. Incorporate the required  *  and
 *  instructions into the POMs, this allows
Apache Aries to do its magic. For example "plc4j-transport-tcp" is a
 and the library "plc4j-spi" is .
3. Use the appropriate libraries required by PLC4X, you must deploy them as
the case may be (I use the "features" functionality of Karaf).
4. Avoid using . Better to use , as the
case may be.

Well as you can see, there are only a few steps for the library to work.

In [1] you can see the work that I am doing for the S7 Driver and it can
serve as a reference.

Best regards,

1. https://github.com/glcj/plc4x/tree/s7event



El mié, 9 jun 2021 a las 15:33, Palaniswamy, Lakshimi Narayanan (ETI) (<
lakshimi.palanisw...@kit.edu>) escribió:

> Hello Community,
>
> I am currently working with an OSGi framework based Open-Source Energy
> Management System OpenEMS (https://openems.io/). As a part of the
> development we wanted to integrate a Beckhoff PLC, which offers a ADS
> bridge-Modbus TCP Protocol for communication. Although I found a DLL
> offered by Beckhoff (
> https://infosys.beckhoff.com/index.php?content=../content/1031/tcadscommon/html/note.htm=),
> it did not fit perfectly for the case of OpenEMS due to its OSGi Framework.
> Thankfully I found the PLC4x adaptor. It really solves half the problem for
> me. I would also like to mention I am quiet new to OSGi as well as JAVA to
> begin with and am trying to figure things out on the go.
>
> Now to my question. I wanted to use the PLC4j/ADS drivers and
> functionalities in my code. I started with the basic setup mentioned in the
> "JAVA Getting Started" page of the PLC4x. When I used the following code:
> PLCDriverManager().getConnection("ads:tcp://xxx.xx.x.xx:502") to establish
> the connection. I get an error saying "Unable to find driver for protocol
> 'ads'". It was weird because if had added all (I hope so) the dependencies
> required as follows:
>
> 
> org.apache.plc4x
> plc4j-api
> 0.8.0
> 
>
> 
>
> org.apache.plc4x
>
> plc4j-driver-ads
>
> 0.8.0
>
> runtime
>
> 
>
> Later I found out that, for OSGi framework, the Drivers are required to be
> activated (
> https://github.com/apache/plc4x/blob/develop/plc4j/osgi/src/main/java/org/apache/plc4x/java/osgi/DriverActivator.java
> ), so that it creates a bundle. But now I am really not sure how this is
> done. Could someone please help me out with this. If there are any
> tutorials or examples for such a case, please share it.
>
> As I said before, we intend in integrating a Beckhoff PLC running TwinCAT
> ADS, into a JAVA OSGi based framework, which would be communicating with
> each other over Modbus TCP protocol.
>
> Viele Grüße
> Laksh
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] When to start the process of a new release?

2021-05-27 Thread Cesar Garcia
Hi,

I can confirm the functionality of S7Alarm already with S7300 & S7400. Of
course it is only the reception that is a contribution at this point.
At the end of the stability tests, I can work with the documentation for
the team to evaluate and generate the PR.
I am going to establish a roadmap, for the other features that were
implemented in 0.6.1.

Best regards,

El mié, 26 may 2021 a las 4:21, Christofer Dutz ()
escribió:

> Hi all,
>
> Some time has passed since our last release and I would hate to have a
> new release take as long as the last one did.
>
> I know there are several initiatives currently in-flight.
>
> I would like to ask you, if I missed anything and would be cool if you
> could provide some information on the status' of these initiatives:
>
> - Native OPC-UA
> - S7 Alarming
> - NiFi Update
>
> Did I miss anything?
>
> Also it would be cool if you could give the RELEASE_NOTES some love, if
> you did something in the current version that's worth noting.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Please welcome our newest PLC4X committer Thomas Frost

2021-05-08 Thread Cesar Garcia
Welcome to the PLC4X group,

I am very interested in the advancement of the C driver of the S7, so that
in what can collaborate in tests we are at your service on these sides.

Again, welcome.

Best regards,

El vie, 7 may 2021 a las 7:40, Christofer Dutz ()
escribió:

> Hi all,
>
> please welcome Thomas to the PLC4X family.
> He has been doing an outstanding job getting my POC-quality PLC4C
> drivers into shape. I am extremely thankful for that :-)
>
> Looking forward to lot's of cool contributions.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Drivers causing OutOfMemory exceptions when querying too much too fast

2021-04-07 Thread Cesar Garcia
Hello,

In the case of high communications load to the PLC, it is best for the
driver to maintain an image of the device, so that this image is consulted
first. It is a more complicated design but for high loads it is the best
solution.

In some tests I use a disruptor as an entry point for the driver clients
and the task assigned by the disruptor handles the PLC4X driver and
associated image.

At the time it can be implemented by the optimization layer of the PLC4X
drivers.

My grain of sand

Greetings to all,


El mié, 7 abr 2021 a las 4:16, Christofer Dutz ()
escribió:

> Hi all,
>
> Today I learnt of a case where a S7 PLC was asked for a lot of data in
> very short periods. This seems to have caused the send-queue to build up
> faster than it could be drained. In the end this caused OutOfMemory errors.
> However, we should probably detect this situation in which over a longer
> period of time the queue grows.
>
> How do you think would be the best way to address this? I know we're using
> Julian's transaction thingy to take care of the sequence in which things
> are sent to the PLC ... so I would assume this would be the place to fix it
> as this would fix the problem for all drivers.
>
> @Julian Feinauer could you possibly
> find some time to come up with a "solution" to this problem? I think we
> can't gracefully handle it as this is something where the user is trying to
> do the impossible, but at least we should probably fail requests if the
> queue is growing too fast ... OutOfMemeory errors are unfortunately nothing
> you can gracefully recover from.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Failure building 0.9.0-SNAP ...

2021-02-28 Thread Cesar Garcia
Hi,

Testing the main repository I found references to 0.8.0-SNAPSHOT in the
"tools / connection-cache" POM.

On the pom lines 40 and 62 it should be "0.9.0-SNAPSHOT".

Can someone perform a "Pull Request" and fix the problem, since my "fork"
is out of date.

Thanks for your help.

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*



Virus-free.
www.avast.com

<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>


Re: [DISCUSS] Refactor the Subscription API

2021-01-04 Thread Cesar Garcia
Hi,

Interesting proposal.

In the implementation of the S7 driver (0.6.1), the subscription for
"cyclical" and "alarms / events" is functional with the existing API, but
as you point out it is very dependent on the type of "event's" supported by
the controller. In the example that is in line [1], it is the
implementation with the existing API.

In the case of Siemens, it is even a little shorter in its old API
(sapi32), it limits the use of events [2].

I will be attentive to the impact that this proposal could have since any
change in the API has an important impact on the implementation. Supporting
your proposal to carry out the most granular handling of events.

Best regards,

1.https: //
github.com/glcj/PLC4XS7Examples/blob/master/src/main/java/com/ceos/merlot/s7/PLCEventSubscription.java
2.https: //
github.com/glcj/jsapi32/blob/master/src/com/ceos/s7/sapi/SapiLibrary.java

El mar, 29 dic 2020 a las 14:03, Christofer Dutz ()
escribió:

> Hi all,
>
> while working on the initial browse API in Go, I also started thinking
> about how we could also clean up the Subscription API.
> I mentioned it before, I'm not happy with the current API, as I think it's
> far too complicated.
>
> Not even I managed to simply use it and get things right the first time.
> Usually I start having a look at how we do things in the examples and start
> using that.
>
> This is usually a signal for me that the API could use some changes.
>
> Right now, given the pretty small amount of drivers supporting
> subscriptions, I doubt many people are actually using it right now and
> doing some radical changes here soudln't harm our users. And we did say: If
> we don't know about people's usage of something because they don't publicly
> talk about it, we shouldn't worry about it.
>
> So right now we allow creating subscription requests that contain a
> mixture of "periodic", "on-value-chang" and "alarms/events". From an
> implementation perspective these are completely different types of
> subscriptions. So providing this mixture-support will definitely complicate
> things. (I think right now most drivers will only support
> "on-value-change").
>
> But then I started thinking: In which scenario would I develop an
> application that does such a mixed subscription request? I couldn't come up
> with a sensible scenario which couldn't be implemented by multiple
> subscriptions: one per each type.
>
> So I would propose to change the API in a way, that the
> SubscriptionRequestBuilder allows preparing 3 types of subscription
> requests.
>
> The part I never got right, was how we add callbacks to subsciptions.
> Currently it allows us to attach no/one/multiple handlers to subsets of
> fields of a subscription. But when would I need that in an application? Of
> course, multiple parts of an application could subscribe to different
> subsets of fields, but that would be something the driver should handle,
> and not the application.
>
> So I would propose to add a handler as argument to the "execute" method of
> the subscription request.
>
> I think this would make applications simpler, it would make the api more
> intuitive and it would help greatly clean up the implementations behind the
> request types.
>
> What do you think?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Please welcome Ben as our newest PMC member

2020-11-08 Thread Cesar Garcia
1+

Welcome

El dom., 8 nov. 2020 a las 11:33, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi all,
>
> I would like to officially welcome Ben as our newest addition to the
> Apache PLC4X PMC.
> Ben has recently been doing an outstanding job all over the project,
> greatly helping the project move forward.
> I am honored, that he accepted our invitation.
>
> Happy to have you, Ben
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [DISCUSS] Add Wrappers to PLC4X Project

2020-09-09 Thread Cesar Garcia
Hello,

I think the concept of the project is clear:

"PLC4X is a set of libraries for communicating with industrial programmable
logic controllers (PLCs) using a variety of protocols but with a shared
API."

If your client allows you to publish the project in PLC4X, it is a very
important opportunity for this project to increase and share knowledge.

As for DCOM, it is a reality that will be with us no less than 20 years in
the future due to its installed base [1]. We need to live with the Windows
and Linux environment for years to come, and that is a reality.

As for solutions with DCOM we have [2], in my case which allows using
OPC-DA from Java, as in [3].

My grain of sand

1.
https://opcfoundation.org/wp-content/uploads/2018/02/ARC-Report-OPC-Installed-Base-Insights.pdf
2. http://j-interop.org/
3. https://www.eclipse.org/eclipsescada/

El mié., 9 sept. 2020 a las 8:31, Otto Fowler ()
escribió:

>  I think this should be hosted and more importantly _maintained_ outside
> the project.  If you want to add reference to it to the project site or
> something, that would be something to talk about.
>
>
> On September 9, 2020 at 08:28:12, Stefano Bossi (stefano.bo...@gmail.com)
> wrote:
>
> Hi,
>
> personally I think this kind of approach will limit the usability of the
> library in a very narrow subset of uses do to the windows operating system
> dependency.
>
> I think you guys put a lot of effort in portability and small footprint of
> the library and this is a great think in the industrial world where
> typically there are small PC or embedded one.
>
> Using the library in a small PC like a Rasperry Pi with a linux distro and
> a lot of attention for the security and hardening of the environment I
> think is a pro for any industrial project
> (e.g. Selinux, Firewall, minimal service installation, OSCAP security
> profile compliance, etc ).
>
> Evaluating the effort required in reversing the DCOM protocol is something
> to be taken into consideration before integrating a windows library in the
> plc4x code.
>
> Maybe this could be a transient solution or a way to validate a full open
> source solution.
>
> Regards,
> Stefano
>
>
>
> On 09/09/2020 13:35, Christofer Dutz wrote:
>
> Hi Julian,
>
>
>
> the issue I see here is that it will make the build more complex (the
> part using the wrapper will only be runnable on windows and not sure
> if the license of the wrapped DLLs would allow including them).
>
>
> It will also eliminate the ability to auto-port the driver to other
> languages.
>
>
> And, beyond that, it would limit these drivers to only work on a
> subset of platforms (Aka ... a Java Driver that only works on Windows
> Systems with installed subsystem for the PLC)
>
>
>
> I wouldn't want to make such a solution a first class citizen (aka
> live in plc4j/drivers) ... we could sort of start providing some sort
> of "plc4j/contrib" modules, if we have to go this path.
>
>
>
> But personally I would opt for at least having a look at the path I
> described in slack:
>
>
>
> - Use the native libs and build an application that does the basic
> interaction with the Windows DLLs
>
> - Use WireShark to record the communication
>
> - Have a look if it's not just a very small subset of DCOM that is used
>
>
>
> Perhaps it would sort of be like using some mspec types with a lot of
> const fields to allow communication without any intermediate DLL 
> this would make it runnable on all target platforms and auto-portable
> to all target languages of PLC4X.
>
>
>
>
>
> Chris
>
>
>
> Am 09.09.20, 09:50 schrieb "Julian Feinauer"
>  :
>
>
>
> Hi all,
>
>
>
> wanted to bring it tot he list as we already had a discussion in
> the slack channel.
>
> We have a project where we consider integrating machinery in our
> system.
>
> The machinery offers an SDK for communication which is windows
> only and based on DCOM.
>
> Thus, the integration would be a wrapper around the SDK with
> „only“ a PLC4X „frontend“.
>
>
>
> Personally, I consider this viable as our aim ist o have one
> interface for „everything“.
>
> Nonetheless, I also agree with everybody saying that its not as
> nice as having the complete stack in our hands.
>
>
>
> What do others think, should this be part oft he PLC4X project or
> should we just do it separately.
>
> Personally idk that much but think it would be nice to have
> maximum support in plc4x, if possible.
>
>
>
> Best
>
> Julian
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [MODBUS][DISCUSS] Improving handling of datatypes ...

2020-09-06 Thread Cesar Garcia
Hello,

I think it can be applied from several points of view, the one typified as
you indicate (HREGISTER: REAL) or (HREGISTER [2]), each one has its
advantage.

To be able to handle the types indifferently (specifically between Modbus
and S7), I modify the field of the Modbus driver so that it strictly adapts
to the PLC4X API. This prevents the user's App from having to implement
code to interpret the content of the records.

This is implemented in version 0.6.1 of  PLC4X, but the new version is
something else.

Best regards,

El dom., 6 sept. 2020 a las 10:03, Ben Hutcheson ()
escribió:

> Hi,
>
> I ran into this issue this morning when using the hello-world-write example
> and trying to write to a Modbus connection. It looks like it assumed the
> input value is a string whereas the Modbus protocol doesn't have support
> for it yet.
>
> I was thinking about expanding
>
> github/plc4x/plc4j/spi/src/main/java/org/apache/plc4x/java/spi/connection/DefaultPlcFieldHandler.java
> to include default handlers for the various IEEE 61131 data types, the
> specific protocols can then override them as necessary?
>
> Kind Regards
>
> Ben
>
> On Wed, Sep 2, 2020 at 9:36 AM Christofer Dutz 
> wrote:
>
> > Hi Julian,
> >
> > I agree ... if one driver would define an "INT" as 32bit integer and the
> > others would treat it as 16bit ... that could be a problem.
> > Perhaps having a statement of the project that we use the IEC 61131 types
> > as a basis and if you want to use a given protocols different types, that
> > you can prefix them ..
> >
> > Assuming a driver for the famous "HURZ" protocol would use 32bit INTs,
> > then an "INT" could reference the 16bit version and a "HURZ_INT" could be
> > the 32bit version?
> >
> > Chris
> >
> >
> >
> >
> > Am 02.09.20, 15:26 schrieb "Julian Feinauer" <
> > j.feina...@pragmaticminds.de>:
> >
> > Hi,
> >
> > agree with your suggestion!
> > Although we have to be careful to not mix it up with specific
> > implementations of datatypes in some drivers.
> >
> > Julian
> >
> > Am 02.09.20, 15:21 schrieb "Christofer Dutz" <
> > christofer.d...@c-ware.de>:
> >
> > Hi all,
> >
> > today I was at a customer’s site and used the Modbus driver to
> get
> > data. This generally worked fine.
> > The thing however I found a little complicated, was that the PLC
> > seemed to offer all values as 32Bit Floating point values.
> > So in order to correctly read them, I had to read an array of two
> > consecutive shorts and then manually convert them into a float.
> >
> > I bet we can do this better.
> >
> > So I thought … how about we use the same
> > https://en.wikipedia.org/wiki/IEC_61131-3 datatypes we are already using
> > in other drivers and for example if you write:
> >
> > holding-register:1:REAL
> >
> > it would automatically use modbus to read an array of two shorts
> > and to internally convert these to one REAL/float.
> >
> > What do you think? I think we could probably do this in most
> > drivers.
> >
> > 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [S7] proposal for changing the way we read STRING values.

2020-08-20 Thread Cesar Garcia
HI,

> So my idea is to only request one byte (the ACT size) of the String and
as soon as that’s returned, to ask for only the chars that are actually
used. This should drastically reduce the payload on the wire.

I find it better to work in a two-step process as you point out.

I have my doubts about predefining the length of the STRING, as you point
out. For example, what happens if I ask for an array of 32 bytes and it is
actually 10, would the filtering work be left to the S7Field?

And it gets more complicated as you point out with the handling of
arrangements.

I believe I have the STRING read captures from a TP1200, this uses the
STRING read as an array of BYTES, it does not take into account the maximum
length or the character count.

I'm going to keep an eye on the code,

Best regards,


El jue., 20 ago. 2020 a las 7:27, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi Julian,
>
> what I didn't like with using the Array syntax was that your're not
> reading an array of Strings ...
>
> How would you read an array of strings?
>
> How about using round-braces?
>
> STRING(10)
>
> This way you could read an array of 10-Char strings:
>
> STRING(10)[5]
>
> Chris
>
>
> Am 20.08.20, 13:16 schrieb "Julian Feinauer" <
> j.feina...@pragmaticminds.de>:
>
> Hi,
>
> this also was a bit controversial in the past and AFAIR we already hat
> STRING[xx] as the command to not read a String Array but a String with
> given size (ignoring ACT value).
> In the end its about latency vs bandwith I guess.
> Personally, I would stick to the rule: Read MAX either given by
> STRING[xx] syntax or the default 254 or 256 (dont remember the spec
> exactly).
>
> Julian
>
> Am 20.08.20, 12:46 schrieb "Christofer Dutz" <
> christofer.d...@c-ware.de>:
>
> Another alternative would be to explicitly limit the number of
> chars read.
>
> So if we would extend the address syntax for STRING types to
> something like
>
> %DB2:30:STRING:10
>
> It would simply read the 10 chars without checking the size first.
>
> Chris
>
>
>
> Am 20.08.20, 12:44 schrieb "Christofer Dutz" <
> christofer.d...@c-ware.de>:
>
> Hi all,
>
> while investigating:
> https://issues.apache.org/jira/browse/PLC4X-240 I noticed that the
> reading of STRING types seems to be extremely inefficient.
>
> The reason is that we are currently reading a STRING element
> by reading 258 bytes (1 byte for MAX num of chars, 1 byte for ACT num of
> chars and then 256 bytes containing char data).
>
> The problem is that with a PDU-Size of 240 you can’t read one
> STRING with only one packet. With a S7 1500 or 400 it might work as they
> have larger PDU sizes. Currently the 0.6 drivers split this up into 2
> requests.
>
> But it’s highly inefficient as usually the content will not be
> anywhere near the 256 chars.
>
> So my idea is to only request one byte (the ACT size) of the
> String and as soon as that’s returned, to ask for only the chars that are
> actually used. This should drastically reduce the payload on the wire.
>
> What do you think?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Reading Array of Int

2020-07-31 Thread Cesar Garcia
Hi Chris.

With the 0.6.1 (Aka Frankenstein code :-)) I solved every problem that I
was finding to get to the handling of the subscription (Type handling,
optimization, asynchronous responses from the PLC, etc.).

J ... is helping me to incorporate the code to the development branch. I am
not a Git expert, and the last thing I want is to damage something jeje.

Also, all these points are documented in Jira (including the pcap files).

For my part, I am waiting next week to be able to install a VPN and give
access to the S7-300 / 400 equipment (physical) and the tests can be
finished.

Best regards,

El vie., 31 jul. 2020 a las 3:42, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi Cesar,
>
> if you fixed any issues in that branch, that are not related to
> publish-subscribe and alarms, it would be great if you could port that to
> develop.
>
> Chris
>
>
>
> Am 30.07.20, 17:34 schrieb "Cesar Garcia" :
>
> Hi Stefano,
>
> I have made several modifications to the branch for a 0.6.1 revision.
>
> If you have the time to try it you can download it from here
>
> https://github.com/glcj/plc4x/tree/s7alarm
>
> and a number of examples here,
>
> https://github.com/glcj/PLC4XS7Examples
>
> What version of PLC do you have?
>
> Like the rest of the team, I will order to help you if you find any
> problem.
>
> Best regards,
>
> El mié., 29 jul. 2020 a las 6:32, Stefano Bossi (<
> stefano.bo...@gmail.com>)
> escribió:
>
> > Thanks Chris,
> >
> > yes definitely this is a workaround, I am experimenting and learning.
> >
> > I really appreciate your time on the investigation of the issue.
> >
> > Thanks,
> > Stefano Bossi
> >
> >
> >
> > On 29/07/2020 12:08, Christofer Dutz wrote:
> >
> > Well that’s a workaround, but not a fix …
> >
> > We should focus on fixing this.
> >
> > I’ll investigate the issue as soon as I’m done with the Beckhoff
> ADS/AMS stuff …
> >
> > Perhaps Julian could find some time to investigate?
> >
> > Chris
> >
> >
> >
> > Von: Stefano Bossi  <
> stefano.bo...@gmail.com>
> > Antworten an:  
> > Datum: Mittwoch, 29. Juli 2020 um 11:41
> > An:  
> > Betreff: Re: Reading Array of Int
> >
> >
> > I have adopted a workaround reading all the INT variable separated.
> >
> > --connection-string 's7:tcp://192.168.1.192?controller-type=S7_1200'
> --field-addresses '%DB1:274.0:INT' '%DB1:276.0:INT' '%DB1:278.0:INT'
> '%DB1:280.0:INT'
> >
> > In this way on the wire you have:
> > the query:
> >
> > Frame 296: 111 bytes on wire (888 bits), 111 bytes captured (888
> bits) on interface utun2, id 0
> >
> > Null/Loopback
> >
> > Internet Protocol Version 4, Src: 192.168.100.4, Dst: 192.168.1.192
> >
> > Transmission Control Protocol, Src Port: 57188, Dst Port: 102, Seq:
> 48, Ack: 50, Len: 67
> >
> > TPKT, Version: 3, Length: 67
> >
> > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
> >
> > S7 Communication
> >
> > Header: (Job)
> >
> > Parameter: (Read Var)
> >
> > Function: Read Var (0x04)
> >
> > Item count: 4
> >
> > Item [1]: (DB 1.DBX 274.0 INT 1)
> >
> > Item [2]: (DB 1.DBX 276.0 INT 1)
> >
> > Item [3]: (DB 1.DBX 278.0 INT 1)
> >
> > Item [4]: (DB 1.DBX 280.0 INT 1)
> >
> > the answer:
> >
> > Frame 297: 89 bytes on wire (712 bits), 89 bytes captured (712 bits)
> on interface utun2, id 0
> >
> > Null/Loopback
> >
> > Internet Protocol Version 4, Src: 192.168.1.192, Dst: 192.168.100.4
> >
> > Transmission Control Protocol, Src Port: 102, Dst Port: 57188, Seq:
> 50, Ack: 115, Len: 45
> >
> > TPKT, Version: 3, Length: 45
> >
> > ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
> >
> > S7 Communication
> >
> > Header: (Ack_Data)
> >
> > Parameter: (Read Var)
> >
> > Function: Read Var (0x04)
> >
> > Item count: 4
> >
> > Data
> >
> >  

Re: Reading Array of Int

2020-07-30 Thread Cesar Garcia
Hi Stefano,

I have made several modifications to the branch for a 0.6.1 revision.

If you have the time to try it you can download it from here

https://github.com/glcj/plc4x/tree/s7alarm

and a number of examples here,

https://github.com/glcj/PLC4XS7Examples

What version of PLC do you have?

Like the rest of the team, I will order to help you if you find any problem.

Best regards,

El mié., 29 jul. 2020 a las 6:32, Stefano Bossi ()
escribió:

> Thanks Chris,
>
> yes definitely this is a workaround, I am experimenting and learning.
>
> I really appreciate your time on the investigation of the issue.
>
> Thanks,
> Stefano Bossi
>
>
>
> On 29/07/2020 12:08, Christofer Dutz wrote:
>
> Well that’s a workaround, but not a fix …
>
> We should focus on fixing this.
>
> I’ll investigate the issue as soon as I’m done with the Beckhoff ADS/AMS 
> stuff …
>
> Perhaps Julian could find some time to investigate?
>
> Chris
>
>
>
> Von: Stefano Bossi  
> Antworten an:  
> Datum: Mittwoch, 29. Juli 2020 um 11:41
> An:  
> Betreff: Re: Reading Array of Int
>
>
> I have adopted a workaround reading all the INT variable separated.
>
> --connection-string 's7:tcp://192.168.1.192?controller-type=S7_1200' 
> --field-addresses '%DB1:274.0:INT' '%DB1:276.0:INT' '%DB1:278.0:INT' 
> '%DB1:280.0:INT'
>
> In this way on the wire you have:
> the query:
>
> Frame 296: 111 bytes on wire (888 bits), 111 bytes captured (888 bits) on 
> interface utun2, id 0
>
> Null/Loopback
>
> Internet Protocol Version 4, Src: 192.168.100.4, Dst: 192.168.1.192
>
> Transmission Control Protocol, Src Port: 57188, Dst Port: 102, Seq: 48, Ack: 
> 50, Len: 67
>
> TPKT, Version: 3, Length: 67
>
> ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
>
> S7 Communication
>
> Header: (Job)
>
> Parameter: (Read Var)
>
> Function: Read Var (0x04)
>
> Item count: 4
>
> Item [1]: (DB 1.DBX 274.0 INT 1)
>
> Item [2]: (DB 1.DBX 276.0 INT 1)
>
> Item [3]: (DB 1.DBX 278.0 INT 1)
>
> Item [4]: (DB 1.DBX 280.0 INT 1)
>
> the answer:
>
> Frame 297: 89 bytes on wire (712 bits), 89 bytes captured (712 bits) on 
> interface utun2, id 0
>
> Null/Loopback
>
> Internet Protocol Version 4, Src: 192.168.1.192, Dst: 192.168.100.4
>
> Transmission Control Protocol, Src Port: 102, Dst Port: 57188, Seq: 50, Ack: 
> 115, Len: 45
>
> TPKT, Version: 3, Length: 45
>
> ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
>
> S7 Communication
>
> Header: (Ack_Data)
>
> Parameter: (Read Var)
>
> Function: Read Var (0x04)
>
> Item count: 4
>
> Data
>
> Item [1]: (Success)
>
> Item [2]: (Success)
>
> Item [3]: (Success)
>
> Item [4]: (Success)
>
> [INFO ] 10:15:44.727 it.fox.datapicker.HelloPlc4x.printResponse() - 
> Value[value-0]: 10
>
> [INFO ] 10:15:44.733 it.fox.datapicker.HelloPlc4x.printResponse() - 
> Value[value-1]: 11
>
> [INFO ] 10:15:44.737 it.fox.datapicker.HelloPlc4x.printResponse() - 
> Value[value-2]: 12
>
> [INFO ] 10:15:44.741 it.fox.datapicker.HelloPlc4x.printResponse() - 
> Value[value-3]: 13
>
> Unfortunately my java knowledge are not so advanced to fix the bug in reading 
> the array in a single command, anyway there’s a workaround.
>
> Hope this mail help some newbies like me to find the right way to read data 
> from the PLC.
>
> Regards,
> Stefano
>
> On 28/07/2020 11:38, Stefano Bossi wrote:
>
> Dear plc4x forum,
>
> I have found a possible problem in reading an array of INT.
> I am using the HelloPlc4x app for testing and I am trying to read the field 
> address: '%DB1:274.0:INT[3]'
>
> In the request, captured via wireShark I can see the query:
>
> Frame 3: 75 bytes on wire (600 bits), 75 bytes captured (600 bits) on 
> interface utun2, id 0
>
> Null/Loopback
>
> Internet Protocol Version 4, Src: 192.168.100.4, Dst: 192.168.1.192
>
> Transmission Control Protocol, Src Port: 54543, Dst Port: 102, Seq: 1, Ack: 
> 1, Len: 31
>
> TPKT, Version: 3, Length: 31
>
> ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
>
> S7 Communication
>
> Header: (Job)
>
> Parameter: (Read Var)
>
> Function: Read Var (0x04)
>
> Item count: 1
>
> Item [1]: (DB 1.DBX 274.0 INT 3)
>
> Variable specification: 0x12
>
> Length of following address specification: 10
>
> Syntax Id: S7ANY (0x10)
>
> Transport size: INT (5)
>
> Length: 3
>
> DB number: 1
>
> Area: Data blocks (DB) (0x84)
>
> Address: 0x000890
>
> and the response:
>
> Frame 4: 75 bytes on wire (600 bits), 75 bytes captured (600 bits) on 
> interface utun2, id 0
>
> Null/Loopback
>
> Internet Protocol Version 4, Src: 192.168.1.192, Dst: 192.168.100.4
>
> Transmission Control Protocol, Src Port: 102, Dst Port: 54543, Seq: 1, Ack: 
> 32, Len: 31
>
> TPKT, Version: 3, Length: 31
>
> ISO 8073/X.224 COTP Connection-Oriented Transport Protocol
>
> S7 Communication
>
> 

Re: Inquiry about the mspec

2020-07-17 Thread Cesar Garcia
Hello Chris.

It's me again, :-)

You have an example that shows that the "typeSwitch" tab allows an internal
"typeSwitch" tab as presented.

I have tried many combinations and it does not work for me.

Thanking you for your help,

El lun., 15 jun. 2020 a las 3:21, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi Cesar,
>
> I just noticed your discriminated types in [2] don't have names ... as for
> every case in the typeSwitch a new type is generated, you need to give them
> names.
> Please try that and check if the error goes away.
>
> Chris
>
>
> Am 14.06.20, 17:59 schrieb "Cesar Garcia" :
>
> Very grateful for your prompt response,
>
> Corrected at point [1]
>
> Unfortunately, the build process still fails when I add the
> 'typeSwitch' in
> the structure as shown in [2],
>
> I attach the message of error in [3].
>
> Thank you very much for any help you can provide,
>
> Best regards,
>
>
> [1]
> [discriminatedType 'S7Payload' [uint 8 'messageType', S7Parameter
> 'parameter']
> [typeSwitch 'parameter.discriminatorValues[0]', 'messageType'
> ['0x04','0x03' S7PayloadReadVarResponse
> [array S7VarPayloadDataItem 'items' count 'CAST(parameter,
> S7ParameterReadVarResponse).numItems' ['lastItem']]
> ]
> ['0x05','0x01' S7PayloadWriteVarRequest
> [array S7VarPayloadDataItem 'items' count
> 'COUNT(CAST(parameter, S7ParameterWriteVarRequest).items)'
> ['lastItem']]
> ]
> ['0x05','0x03' S7PayloadWriteVarResponse
> [array S7VarPayloadStatusItem 'items' count
> 'CAST(parameter,
> S7ParameterWriteVarResponse).numItems']
> ]
> ['0x00','0x07' S7PayloadUserData
> *[array S7PayloadUserDataItem 'items' count
> 'COUNT(CAST(parameter, S7ParameterUserData).items)'
> ['CAST(CAST(parameter,
> S7ParameterUserData).items[0],
>
> S7ParameterUserDataItemCPUFunctions).cpuFunctionType','CAST(CAST(parameter,
> S7ParameterUserData).items[0],
> S7ParameterUserDataItemCPUFunctions).cpuSubfunction'*]]
> ]
> ]
> ]
>
> [2]
> [discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType',
> uint
> 8 'cpuSubfunction']
> [enum DataTransportErrorCode 'returnCode']
> [enum DataTransportSize  'transportSize']
> [implicit uint 16'dataLength' 'lengthInBytes - 4']
> [typeSwitch 'cpuSubfunction'
> ['0x01'
> [simple   SzlId  'szlId']
> [simple   uint 16'szlIndex']
> [typeSwitch 'cpuFunctionType'
> ['0x04' S7PayloadUserDataItemCpuFunctionReadSzlRequest
> ]
> ['0x08' S7PayloadUserDataItemCpuFunctionReadSzlResponse
> [constuint 16 'szlItemLength' '28']
> [implicit uint 16 'szlItemCount'  'COUNT(items)']
> [array SzlDataTreeItem 'items' count
> 'szlItemCount']
> ]
> ]
> ]
> ['0x02'
> *[simple   uint 16'Mode']*
> ]
> ]
> ]
>
>
> [3]
>
> --- plc4x-maven-plugin:1.2.0:generate-driver (generate-driver) @
> plc4j-driver-s7 ---
> Generating type DataItem
> Generating type COTPParameterDisconnectAdditionalInformation
> Generating type S7PayloadWriteVarRequest
>
> 
> BUILD FAILURE
>
> 
> Total time:  2.220 s
> Finished at: 2020-06-14T11:27:37-04:00
>
> 
> Failed to execute goal
> org.apache.plc4x.plugins:plc4x-maven-plugin:1.2.0:generate-driver
> (generate-driver) on project plc4j-driver-s7: Error generating sources:
> Error generating output for type 'S7PayloadWriteVarRequest': Java
> method
>
> "org.apache.plc4x.language.java.JavaLanguageTemplateHelper.getArgumentType(org.apache.plc4x.plugins.codegenerator.types.references.TypeReference,
> int)" threw an exception when invoked on
> org.apache.plc4x.language.java.JavaLanguageTemplateHelper object
> "org.apache.plc4x.language.java.JavaLanguageTemplateHelper@5fa0141f";
> see
> cause exception in the Java stack trace.
>
> 
> FTL stack trace (&qu

Re: S7 write test doubt

2020-07-03 Thread Cesar Garcia
Hi Iñigo,

If you have the opportunity to test the previous version, it is currently
under evaluation by the team (0.6.1 PR).

You can check the versión here

https://github.com/glcj/plc4x/tree/s7alarm

In addition to the examples placed in the official repository, here you
will find a number of examples with native S7 types.

https://github.com/glcj/PLC4XS7Examples

I will be attentive to any request since it is in my interest that this
version is very well debugged.

I hope it is useful for you


El vie., 3 jul. 2020 a las 3:24, Iñigo Angulo () escribió:

> Hi Chris,
>
> Yes, I was thinking about why those dataypes were returning a List, thanks
> for the explanation
>
> I tried the SINT access. For reading values works perfectly. But when
> writing, Im afraid I am getting the same INTERNAL_ERROR message as for INT
> and DINT. I will make further tests, and let you know of the progress i
> make.
>
> Thanks!
>
> Iñigo
>
> -
> Iñigo Angulo
>
> ZYLK.net :: consultoría.openSource
> Ribera de Axpe, 11
> Edificio A, modulo 201-203
> 48950 Erandio (Bizkaia)
> +34 944272119
> -
>
> - Mensaje original -
> De: "Christofer Dutz" 
> Para: "dev" 
> Enviados: Jueves, 2 de Julio 2020 16:42:16
> Asunto: Re: S7 write test doubt
>
> Hi Iñigo,
>
> happy you made quite some progress.
>
> If you were asking yourself why for BYTE, WORD and DWORD the driver is
> returning a List ... these are considered Bit-Strings. If you want to
> read/write a single byte as an integer value, please use SINT instead.
>
> So regarding one of your questions ... could you instead of doing:
> builderWriter.addItem("mivariable", "%DB20:DBB06:BYTE", 127);
> Please try:
> builderWriter.addItem("mivariable", "%DB20:DBB06:SINT", 127);
>
> And if you're getting an INTERNAL_ERROR that's probably our fault. As I
> mentioned, we haven't done too much writing as no one ever uses that ;-)
>
> Chris
>
>
>
>
> Am 02.07.20, 15:56 schrieb "Iñigo Angulo" :
>
> Hi,
>
> I have been doing further tests with the S7 driver. I would like to
> ask you some doubts, which i am not sure if relate to the PLC4X driver or
> the actual hardware (Siemens S7-300) i am using (pretty novice in PLC data
> access im afraid...)
>
>
> The "Read value" tests I have done work correctly for different
> datatypes, for example:
>
> builderReader.addItem("mivariable", "%DB20:DBX5.0:BOOL"); //Single
> boolean value
> builderReader.addItem("mivariable", "%DB20:DBB06:BYTE"); //returns
> a PlcList (Array of 8 boolean values)
> builderReader.addItem("mivariable", "%DB20:DBW06:WORD"); //returns
> a PlcList (Array of 16 boolean values)
> builderReader.addItem("mivariable", "%DB20:DBD06:DWORD");
> //returns a PlcList (Array of 32 boolean values)
> builderReader.addItem("mivariable", "%DB20:DBW06:INT"); //returns
> a PlcInteger (16 bit integer (signed))
> builderReader.addItem("mivariable", "%DB20:DBD06:DINT"); //returns
> a PlcInteger (32 bit integer (signed))
> builderReader.addItem("mivariable", "%DB20:DBD06:REAL"); //returns
> a PlcFloat (32 bit IEEE 754 full precision floating point value (signed))
>
>
> In the "Write value" tests, write request for all datatype seem to
> work fine:
>
> builderWriter.addItem("mivariable", "%DB20:DBX6.1:BOOL", true);
> //write response code "OK"
> builderWriter.addItem("mivariable", "%DB20:DBB06:BYTE", 127);
> //write response code "OK"
> builderWriter.addItem("mivariable", "%DB20:DBW06:WORD", 7);
> //write response code "OK"
> builderWriter.addItem("mivariable", "%DB20:DBD06:DWORD", 1);
> //write response code "OK"
>
>
> Except for the 'INT' and 'DINT' datatypes, which return an
> INTERNAL_ERROR response code
>
> builderWriter.addItem("mivariable", "%DB20:DBW06:INT", 1); //write
> response code "INTERNAL_ERROR"
> builderWriter.addItem("mivariable", "%DB20:DBD06:DINT", 1);
> //write response code "INTERNAL_ERROR"
>
>
> Is the INTERNAL_ERROR code a hardware issue? (Maybe a device
> configuration problem?)
>
> ---
>
> Also, the other thing I found in the test:
>
> When I write a value different than BOOL, and then read the same
> memory address, I dont get the actual value but a 'false' filled array. TO
> give some examples,
>
> with BOOL values:
>
> builderWriter.addItem("mivariable", "%DB20:DBX6.1:BOOL", true);
> builderReader.addItem("mivariable", "%DB20:DBX6.1:BOOL"); //return
> true
>
> builderWriter.addItem("mivariable", "%DB20:DBX6.1:BOOL", false);
> builderReader.addItem("mivariable", "%DB20:DBX6.1:BOOL"); //return
> false
>
> The written value is "correctly updated" and read fine.
>
> with other datatypes:
>
> builderWriter.addItem("mivariable", "%DB20:DBB06:BYTE", 1);
> builderReader.addItem("mivariable", "%DB20:DBB06:BYTE"); //returns
> [false, false, 

Re: [ApacheCon] Anyone planning on submitting something?

2020-07-02 Thread Cesar Garcia
Thanks Julian,

I did not know the project, I will check it looks fine.

Best regards,

El jue., 2 jul. 2020 a las 2:51, Julian Feinauer (<
j.feina...@pragmaticminds.de>) escribió:

> Hi,
>
> finally have to jump in (too much Beer Content in the morning).
>
> We already had the Idea of doing "Beer Punkt Null" with a local brewery
> here (its a play of words as the 4.0 in german speaks pretty similar, 4 =
> vier which is roughly pronounced like "fear").
>
> Do you know the https://web.craftbeerpi.com/?
>
> Julian
>
>
> Am 01.07.20, 19:59 schrieb "Cesar Garcia" :
>
> Someday Chris, why not
>
> I remember training in Mannheim where I had the opportunity to taste
> very
> good German beers (Many beers!) ...
>
> In the important thing. Why not have a solution for small breweries
> based
> on open technologies, aka, Karaf + PLC4X + Graphana + CSS.
>
> And so on ...
>
> Best regards,
>
>
> https://assets.new.siemens.com/siemens/assets/api/uuid:1d50c8bc9667e38e180a0ba36a3efa54f80e6d39/version:1529694435/us-cg-fb-tallgrass-brewery-and-custom-metalcraft-case-study.pdf
>
> El mié., 1 jul. 2020 a las 12:57, Christofer Dutz (<
> christofer.d...@c-ware.de>) escribió:
>
> > Oh yeah ...
> >
> > But better not talk about it, better get together and drink it ;)
> >
> > Chris
> >
> >
> > Am 01.07.20, 18:30 schrieb "Cesar Garcia"  >:
> >
> > Hi,
> >
> > It would be interesting to talk about automation of "CraftBeer".
> >
> > We are working in that direction,
> >
> > Best regards,
> >
> > El mié., 1 jul. 2020 a las 11:47, Christofer Dutz (<
> > christofer.d...@c-ware.de>) escribió:
> >
> > > So would anyone here be interested in doing a pure PLC4X talk?
> > >
> > > I have been doing that for the past 3-4 years and would be
> happy to
> > give
> > > someone else the chance to do that.
> > >
> > > Of course, if no one wants to I could probably do it.
> > >
> > > Chris
> > >
> > >
> > > Am 01.07.20, 16:06 schrieb "Christofer Dutz" <
> > christofer.d...@c-ware.de>:
> > >
> > > Hi all,
> > >
> > > as you might have gotten 1 or 2 … or 20 emails from Rich
> > yesterday
> > > regarding the virtual ApacheCon this year.
> > >
> > > We have 2 weeks to submit talks for the IoT tracks.
> > >
> > > Perhaps we should coordinate on what we want to submit?
> > >
> > >
> > >   *   I know the StreamPipes folks already submitted
> something
> > which
> > > involves PLC4X which I would be helping out with.
> > >   *   I was planning on something down the line of
> > Home-Automation
> > > built with Apache software … using PLC4X, IoTDB and perhaps
> Royale
> > to build
> > > some sort of  POC
> > >
> > > Any other ideas?
> > >
> > > 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: +58 414-760.98.95*
> >
> > *Hotline Técnica SIEMENS: 0800 1005080*
> >
> > *Email: support.aan.automat...@siemens.com
> > *
> >
> >
>
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [ApacheCon] Anyone planning on submitting something?

2020-07-01 Thread Cesar Garcia
Someday Chris, why not

I remember training in Mannheim where I had the opportunity to taste very
good German beers (Many beers!) ...

In the important thing. Why not have a solution for small breweries based
on open technologies, aka, Karaf + PLC4X + Graphana + CSS.

And so on ...

Best regards,

https://assets.new.siemens.com/siemens/assets/api/uuid:1d50c8bc9667e38e180a0ba36a3efa54f80e6d39/version:1529694435/us-cg-fb-tallgrass-brewery-and-custom-metalcraft-case-study.pdf

El mié., 1 jul. 2020 a las 12:57, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Oh yeah ...
>
> But better not talk about it, better get together and drink it ;)
>
> Chris
>
>
> Am 01.07.20, 18:30 schrieb "Cesar Garcia" :
>
> Hi,
>
> It would be interesting to talk about automation of "CraftBeer".
>
> We are working in that direction,
>
> Best regards,
>
> El mié., 1 jul. 2020 a las 11:47, Christofer Dutz (<
> christofer.d...@c-ware.de>) escribió:
>
> > So would anyone here be interested in doing a pure PLC4X talk?
> >
> > I have been doing that for the past 3-4 years and would be happy to
> give
> > someone else the chance to do that.
> >
> > Of course, if no one wants to I could probably do it.
> >
> > Chris
> >
> >
> > Am 01.07.20, 16:06 schrieb "Christofer Dutz" <
> christofer.d...@c-ware.de>:
> >
> > Hi all,
> >
> > as you might have gotten 1 or 2 … or 20 emails from Rich
> yesterday
> > regarding the virtual ApacheCon this year.
> >
> > We have 2 weeks to submit talks for the IoT tracks.
> >
> > Perhaps we should coordinate on what we want to submit?
> >
> >
> >   *   I know the StreamPipes folks already submitted something
> which
> > involves PLC4X which I would be helping out with.
> >   *   I was planning on something down the line of
> Home-Automation
> > built with Apache software … using PLC4X, IoTDB and perhaps Royale
> to build
> > some sort of  POC
> >
> > Any other ideas?
> >
> > 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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [ApacheCon] Anyone planning on submitting something?

2020-07-01 Thread Cesar Garcia
Hi,

It would be interesting to talk about automation of "CraftBeer".

We are working in that direction,

Best regards,

El mié., 1 jul. 2020 a las 11:47, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> So would anyone here be interested in doing a pure PLC4X talk?
>
> I have been doing that for the past 3-4 years and would be happy to give
> someone else the chance to do that.
>
> Of course, if no one wants to I could probably do it.
>
> Chris
>
>
> Am 01.07.20, 16:06 schrieb "Christofer Dutz" :
>
> Hi all,
>
> as you might have gotten 1 or 2 … or 20 emails from Rich yesterday
> regarding the virtual ApacheCon this year.
>
> We have 2 weeks to submit talks for the IoT tracks.
>
> Perhaps we should coordinate on what we want to submit?
>
>
>   *   I know the StreamPipes folks already submitted something which
> involves PLC4X which I would be helping out with.
>   *   I was planning on something down the line of Home-Automation
> built with Apache software … using PLC4X, IoTDB and perhaps Royale to build
> some sort of  POC
>
> Any other ideas?
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Serial port Connection

2020-06-29 Thread Cesar Garcia
Hi Niclas,

You are right on all points. I have not tested the Modbus serial driver,
but I am very interested that it works on Multidrop connections.

Version 0.7.0 is based on Mspec, so a proposal could be:

1. Modify the PLCField to include the UID of the device within the frame
from the address of the Item.

2. The default UID must be the one inserted in the Connection String.

3. Evaluate the queue of requests, I think the standard allows a single
frame depending on the connection (Half / Full Duplex).

It should not be very laborious, I can keep an eye on it.

Here Chris can guide us if it is the way.

Best regards,

El lun., 29 jun. 2020 a las 22:59, Niclas Hedhman ()
escribió:

> Ok, let's dissect this...
>
> 1. There are many devices connected to a serial ModBus port.
>
> 2. ModBus (and every other serial protocol I have dealt with) are not
> "connection" oriented, but packets, most of the time very small. The
> "connection" metaphor in PLC4X for non-TCP comms is actually quite poor.[1]
>
> 3. All serial protocols (that I worked with) have at least the destination
> present in the protocol packet itself. When some of these serial protocols
> were "wrapped" for modern TCP/IP communications, an ambiguity surfaced. And
> in case of ModBus, the device address was simply defaulted to 1 (although I
> think some gateways can handle many, and perhaps some TCP devices will map
> out more than one ModbUs device, but I have no experience in that)
>
>
> So, as things are right now, and if I didn't misunderstood something
> (totally possible), is that one is required to "open->->close" the
> PLC4X connection for each device that I want to scan/read, as I think the
> device address (1 byte in case of ModBus) is part of the connection string.
> The biggest system I have ever been involved with was just under 1000 PLCs
> (granted, not modbus) with 30,000 data points readable in total. It feels
> "s wrong" to have "open->send->receive->close" operation for all of
> those, AND that the timing on that particular system was that for optimal
> performance, exactly 1 byte of delay (related to half-duplex modem
> direction switching) between receiving the last byte of previous packet
> before the first byte of the new packet. Without the "Serial Port"
> abstraction, with a queue of requests to send, such timing is not trivial.
>
> What I think has "gone wrong" here is that the "serial port" is an
> interface, pretty much like "eth0" and should be handled "further down" but
> since the operating system has no support for it, it should have been in
> PLC4X's architecture. I also think that the "connection" metaphor is poor,
> and a "packet" metaphor would have been much better throughout PLC4X
> regardless whether it is TCP/IP, UDP or serial. The actual TCP connection
> when needed should be handled under the hood, rather invisibly to the user.
> As I said before, I understand that this is not something that can be
> changed, just like that... Only expressing how I think it should have been
> done.
>
> I will try to work with what we have, and dig into the details on the
> serial port side, as that's where I have plenty of experience and I get the
> impression that it isn't the strength of the community. I am sure you will
> hear a lot from me going forward, as I have decided to put PLC4X into my
> commercial product, replacing the existing j2mod.
>
>
> Niclas
>
> [1] It is quite funny that the serial port is natively a stream, and we map
> packets onto it. TCP/IP is natively packets, which is then made into a
> stream, which we then map packets onto the stream. Ideally, UDP is fit for
> purpose for PLC protocols, but for some unknown reason few are.
>
>
>
>
> On Mon, Jun 29, 2020 at 4:00 PM Christofer Dutz  >
> wrote:
>
> > Hi all,
> >
> > sorry for joining in the party late ... but hopefully not too late.
> >
> > Regarding making the serial port part of the connection string ... I have
> > to admit that right now I couldn't imagine how to not have it in there
> and
> > not over-complicate things for the users. Yes, if you create a connection
> > this will have exclusive handle to the port, but this is actually an
> > important thing to have. In contrast to network devices that can handle
> > multiple connections in parallel ... a serial port is ... well ...
> serial.
> > Havin asynchronous access to one serial port from multiple areas in an
> > application sound like a bad Idea.
> >
> > However you could always use the connection pool ... in this case the
> pool
> > would have one connection open and could share this (serially) with
> > multiple parts of an application. Here a part would request the
> connection,
> > do its work and then give the connection back to the pool where another
> > part of the application could use it. This way I think we have the ideal
> > tradeoff between sharing a connection and not having to be concerned
> about
> > breaking the serial operation of the serial-port communication.
> 

Re: [VOTE] Rename our "master" branch to "release"

2020-06-29 Thread Cesar Garcia
1+


El lun., 29 jun. 2020 a las 3:09, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi all,
>
> we had already discussed that some days ago, but I’d like to formally have
> you all vote on this … just to make it official.
>
> I always thought “master”, “trunk” etc. were sub-ideal names as they don’t
> explain what they are used for. We currently develop on “develop” and
> therefore I propose to change the “master” branch to “release”.
>
> While at it I would propose to call the release branches “release/x.y”
> (instead of “rel/x.y”) and to tag the releases themselves with the full
> three-digit numbers “release/x.y.z”).
>
> This way I think we would have all in a very clean and concise naming
> scheme where nobody has to ask himself, which branch is used for what.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Driver S7. Step to 0.6.1

2020-06-17 Thread Cesar Garcia
Hi Julian,

This is the branch of the fork that I have worked with,

https://github.com/glcj/plc4x/tree/s7alarm

There are also some modifications to the Modbus driver for the use of
Scalares.

Thank you very much for your support,

I will be attentive to your observations,



El mié., 17 jun. 2020 a las 16:18, Julian Feinauer (<
j.feina...@pragmaticminds.de>) escribió:

> Hi Cesar,
>
> I wanted to take a look on your additions but I didnt find them in the
> rel/0.6 branch.
> Can you help me and point me to the place where you did your commits?
>
> Thanks!
> Julian
>
> Am 06.06.20, 19:56 schrieb "Cesar Garcia" :
>
>  Hello,
>
> Julian, sorry for the inconvenience. Did you have the opportunity to
> browse
> the information?
>
> Grateful for any help or guidance on the subject,
>
> Best regards,
>
> El mié., 3 jun. 2020 a las 14:03, Julian Feinauer (<
> j.feina...@pragmaticminds.de>) escribió:
>
> > Hi Cesar,
> >
> > let me have a look tomorrow.
> > Generally speaking every comitter should be able to do a release
> rather
> > easy and if there are valuable improvements we are free to do one,
> so you
> > have my +1 there.
> >
> > I can also offer you to RM the 0.6.1 release if you like?
> >
> > Julian
> >
> > Am 03.06.20, 18:59 schrieb "Cesar Garcia"  >:
> >
> > How are they?
> >
> > Some time ago, I put in Jira the points to be implemented for
> the S7
> > driver
> > version, in order to bring it to version 0.6.1.
> >
> > I am not an expert in Git, but according to your experience what
> would
> > be
> > the necessary steps to generate version 0.6.1? Is it feasible
> with the
> > modifications? Can anyone on the team verify if this migration is
> > feasible?
> >
> > For me it would be very useful to have this code consolidated in
> PLC4X
> > since I have done a number of stability tests and new features.
> >
> > Thanking you for your guidance,
> >
> > Best regards,
> > --
> > *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: +58 414-760.98.95*
> >
> > *Hotline Técnica SIEMENS: 0800 1005080*
> >
> > *Email: support.aan.automat...@siemens.com
> > *
> >
> >
>
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Inquiry about the mspec

2020-06-14 Thread Cesar Garcia
Very grateful for your prompt response,

Corrected at point [1]

Unfortunately, the build process still fails when I add the 'typeSwitch' in
the structure as shown in [2],

I attach the message of error in [3].

Thank you very much for any help you can provide,

Best regards,


[1]
[discriminatedType 'S7Payload' [uint 8 'messageType', S7Parameter
'parameter']
[typeSwitch 'parameter.discriminatorValues[0]', 'messageType'
['0x04','0x03' S7PayloadReadVarResponse
[array S7VarPayloadDataItem 'items' count 'CAST(parameter,
S7ParameterReadVarResponse).numItems' ['lastItem']]
]
['0x05','0x01' S7PayloadWriteVarRequest
[array S7VarPayloadDataItem 'items' count
'COUNT(CAST(parameter, S7ParameterWriteVarRequest).items)' ['lastItem']]
]
['0x05','0x03' S7PayloadWriteVarResponse
[array S7VarPayloadStatusItem 'items' count 'CAST(parameter,
S7ParameterWriteVarResponse).numItems']
]
['0x00','0x07' S7PayloadUserData
*[array S7PayloadUserDataItem 'items' count
'COUNT(CAST(parameter, S7ParameterUserData).items)' ['CAST(CAST(parameter,
S7ParameterUserData).items[0],
S7ParameterUserDataItemCPUFunctions).cpuFunctionType','CAST(CAST(parameter,
S7ParameterUserData).items[0],
S7ParameterUserDataItemCPUFunctions).cpuSubfunction'*]]
]
]
]

[2]
[discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType', uint
8 'cpuSubfunction']
[enum DataTransportErrorCode 'returnCode']
[enum DataTransportSize  'transportSize']
[implicit uint 16'dataLength' 'lengthInBytes - 4']
[typeSwitch 'cpuSubfunction'
['0x01'
[simple   SzlId  'szlId']
[simple   uint 16'szlIndex']
[typeSwitch 'cpuFunctionType'
['0x04' S7PayloadUserDataItemCpuFunctionReadSzlRequest
]
['0x08' S7PayloadUserDataItemCpuFunctionReadSzlResponse
[constuint 16 'szlItemLength' '28']
[implicit uint 16 'szlItemCount'  'COUNT(items)']
[array SzlDataTreeItem 'items' count 'szlItemCount']
]
]
]
['0x02'
*[simple   uint 16'Mode']*
]
]
]


[3]

--- plc4x-maven-plugin:1.2.0:generate-driver (generate-driver) @
plc4j-driver-s7 ---
Generating type DataItem
Generating type COTPParameterDisconnectAdditionalInformation
Generating type S7PayloadWriteVarRequest

BUILD FAILURE

Total time:  2.220 s
Finished at: 2020-06-14T11:27:37-04:00

Failed to execute goal
org.apache.plc4x.plugins:plc4x-maven-plugin:1.2.0:generate-driver
(generate-driver) on project plc4j-driver-s7: Error generating sources:
Error generating output for type 'S7PayloadWriteVarRequest': Java method
"org.apache.plc4x.language.java.JavaLanguageTemplateHelper.getArgumentType(org.apache.plc4x.plugins.codegenerator.types.references.TypeReference,
int)" threw an exception when invoked on
org.apache.plc4x.language.java.JavaLanguageTemplateHelper object
"org.apache.plc4x.language.java.JavaLanguageTemplateHelper@5fa0141f"; see
cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${helper.getArgumentType(field.type, ...  [in template
"templates/java/io-template.ftlh" at line 136, column 248]
: Could not find definition of complex type S7VarPayloadDataItem
-> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read
the following articles:
[Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException




El dom., 14 jun. 2020 a las 5:05, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi Cesar,
>
> I just had a look at your mspec changes. I think it shouldn't be
> "getCpuSubfunction" but " cpuSubfunction" ... the code generator takes care
> of generating the right access code. For my C templates this code is
> sometimes greatly different from what you would expect in Java.
>
> Actually that should be about all that has to be changed.
>
> Chris
>
>
> Am 13.06.20, 22:50 schrieb "Cesar Garcia" :
>
> Hi,
>
> I am trying to perform the migration to add the functionalities for
> the S7
> driver, associated with the subscription handling of alarm and system
> events, but I am generating a failure in compiling the driver from the
> mspec.
>
> In [1] I extend the step of the par

Inquiry about the mspec

2020-06-13 Thread Cesar Garcia
Hi,

I am trying to perform the migration to add the functionalities for the S7
driver, associated with the subscription handling of alarm and system
events, but I am generating a failure in compiling the driver from the
mspec.

In [1] I extend the step of the parameter 'cpuSubFunction' since I require
it to indicate the subscription model. The change is in bold.

In [2] I select the type based on the 'cpuSubFunction'.

I try to generate the driver and the compiler sends me the message
indicated in [3]. It points to 'S7PayloadWriteVarRequest', but I haven't
touched it.

I appreciate your comments,



[1]

[discriminatedType 'S7Payload' [uint 8 'messageType', S7Parameter
'parameter']
[typeSwitch 'parameter.discriminatorValues[0]', 'messageType'
['0x04','0x03' S7PayloadReadVarResponse
[array S7VarPayloadDataItem 'items' count 'CAST(parameter,
S7ParameterReadVarResponse).numItems' ['lastItem']]
]
['0x05','0x01' S7PayloadWriteVarRequest
[array S7VarPayloadDataItem 'items' count
'COUNT(CAST(parameter, S7ParameterWriteVarRequest).items)' ['lastItem']]
]
['0x05','0x03' S7PayloadWriteVarResponse
[array S7VarPayloadStatusItem 'items' count 'CAST(parameter,
S7ParameterWriteVarResponse).numItems']
]
['0x00','0x07' S7PayloadUserData
[array S7PayloadUserDataItem 'items' count
'COUNT(CAST(parameter, S7ParameterUserData).items)' ['CAST(CAST(parameter,
S7ParameterUserData).items[0],
S7ParameterUserDataItemCPUFunctions).cpuFunctionType',*
'CAST(CAST(parameter, S7ParameterUserData).items[0],
S7ParameterUserDataItemCPUFunctions).getCpuSubfunction']*]
]
]
]

[2]

[discriminatedType 'S7PayloadUserDataItem' [uint 4 'cpuFunctionType', uint
8 'cpuSubfunction']
[enum DataTransportErrorCode 'returnCode']
[enum DataTransportSize  'transportSize']
[implicit uint 16'dataLength' 'lengthInBytes - 4']
















*  [typeSwitch 'cpuSubfunction'['0x01'[simple   SzlId
   'szlId'][simple   uint 16
 'szlIndex'][typeSwitch 'cpuFunctionType'
['0x04' S7PayloadUserDataItemCpuFunctionReadSzlRequest]
['0x08' S7PayloadUserDataItemCpuFunctionReadSzlResponse
[constuint 16 'szlItemLength' '28']
[implicit uint 16 'szlItemCount'  'COUNT(items)'][array
SzlDataTreeItem 'items' count 'szlItemCount']]
]]['0x02']]*
]

[3]
Failed to execute goal
org.apache.plc4x.plugins:plc4x-maven-plugin:1.2.0:generate-driver
(generate-driver) on project plc4j-driver-s7: Error generating sources:
Error generating output for type 'S7PayloadWriteVarRequest': Java method
"org.apache.plc4x.language.java.JavaLanguageTemplateHelper.getArgumentType(org.apache.plc4x.plugins.codegenerator.types.references.TypeReference,
int)" threw an exception when invoked on
org.apache.plc4x.language.java.JavaLanguageTemplateHelper object
"org.apache.plc4x.language.java.JavaLanguageTemplateHelper@8ac512e"; see
cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${helper.getArgumentType(field.type, ...  [in template
"templates/java/io-template.ftlh" at line 136, column 248]
: Could not find definition of complex type S7VarPayloadDataItem
-> [Help 1]


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-11 Thread Cesar Garcia
Hello,

I already tested with Karaf 4.2.8 and Karaf 4.2.9 and the behavior is the
same.

If there is an important observation it is that when the first deployment
of the app feature is carried out, the correct loading of the objects is
not guaranteed, it is difficult to solve it since you have to evaluate the
Bootstrap of Netty, ServiceLoader and the OSGi Deployer. I think you have
to play with the sequence of loading the services, but that's another
problem.

The solution is very simple is to stop and start the Karaf, it has not
failed me, it always connects correctly to the PLC.

My grain of sand,

Best regards,



El jue., 11 jun. 2020 a las 15:00, Alessio Bernesco Làvore (<
alessio.berne...@gmail.com>) escribió:

> > We are closer, jeje
> ^_^
>
> There's still something strange, installing the aries-blueprint feature
> there still a "Unsupported 'Bundle-ManifestVersion' value: 1"
> Error executing command: Error:
> Unable to create resource for bundle
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.weaver-internal/1.3.0
> Unable to create resource for bundle
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.core-internal/1.3.0
>
> Previously i had installed the aries bundle wrapping them, but i cannot
> understand why i still had those errors.
>
>
> On Thu, Jun 11, 2020 at 8:37 PM Cesar Garcia 
> wrote:
>
> > Hello,
> >
> > You need install Blueprint feature, is not install by default.
> >
> > 1. karaf>feature:install aries-blueprint
> >
> > I see yesterday that new version is out 4.2.9,
> >
> > But I have not tried it. Still, it's a minor update. From what we said it
> > should work, the update of libraries are the same as those of the feature
> > that you are displaying...
> >
> > You can add "aries-blueprint" feature to the app feature.
> >
> > We are closer, jeje
> >
> >
> >
> > El jue., 11 jun. 2020 a las 14:05, Alessio Bernesco Làvore (<
> > alessio.berne...@gmail.com>) escribió:
> >
> > > Hello Cesar,
> > > still no luck, i've redone a clean install and a clean installation of
> > > Karaf (last version 4.2.9).
> > >
> > > Which version of Karaf are you using? Cause installing your feature i
> > have
> > > those errors:
> > >
> > > Error executing command: Error:
> > > Unable to create resource for bundle
> > > mvn:org.apache.aries.spifly/org.apache.aries.spifly.core-internal/1.3.0
> > > Unable to create resource for bundle
> > >
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.weaver-internal/1.3.0
> > >
> > > with an exception:
> > >
> > > Unable to build resource for
> > >
> >
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.weaver-internal/1.3.0:
> > > Unsupported 'Bundle-ManifestVersion' value: 1
> > > so i tried to wrap them.
> > >
> > > This is the list of complete bundles:
> > >
> > > 22 │ Active│  80 │ 4.2.9  │ Apache Karaf :: OSGi
> Services
> > > :: Event
> > > 44 │ Active│  80 │ 2.10.0 │ Jackson-annotations
> > > 45 │ Active│  80 │ 1.4.3  │ bit-io
> > > 46 │ Active│  80 │ 4.1.47.Final   │ Netty/Buffer
> > > 47 │ Active│  80 │ 4.1.47.Final   │ Netty/Codec
> > > 48 │ Active│  80 │ 4.1.47.Final   │ Netty/Common
> > > 49 │ Active│  80 │ 4.1.47.Final   │ Netty/Resolver
> > > 50 │ Active│  80 │ 4.1.47.Final   │ Netty/Transport
> > > 51 │ Active│  80 │ 0.10.2 │ Vavr
> > > 52 │ Active│  80 │ 0.10.2 │ Vavr Match
> > > 53 │ Active│  80 │ 1.3.0  │ Apache Aries SPI Fly
> Dynamic
> > > Weaving Bundle
> > > 54 │ Active│  80 │ 3.2.2  │ Apache Commons Collections
> > > 55 │ Active│  80 │ 1.9.4  │ Apache Commons BeanUtils
> > > 56 │ Active│  80 │ 1.12.0 │ Apache Commons Codec
> > > 57 │ Active│  80 │ 3.9.0  │ Apache Commons Lang
> > > 58 │ Active│  80 │ 1.2.0  │ Apache Commons Logging
> > > 59 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: API
> > > 60 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: Driver: Modbus
> > > 61 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: Driver: S7 (Step7)
> > > 62 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: OSGi
> > > 63 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: SPI
> > > 64 │ Active│  80 │ 0.8.0.SNAPSHOT │ PLC4J: Transports: TCP
> > > 65 │ Act

Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-11 Thread Cesar Garcia
Hello,

Now from zero, with Karaf 4.2.8

1. I made a mistake when testing the libraries, I tested them in the
"deploy" and passed them to the "feature". Attached the modified feature. I
apologize for that.


${project.description}
Implementation of the protocol adapters for usage as Java
library.
mvn:org.apache.plc4x/plc4j-osgi/0.8.0-SNAPSHOT
mvn:org.osgi/osgi.core/6.0.0
mvn:org.apache.plc4x/plc4j-api/0.8.0-SNAPSHOT
mvn:org.apache.plc4x/plc4j-spi/0.8.0-SNAPSHOT
mvn:io.netty/netty-codec/4.1.47.Final
mvn:io.netty/netty-common/4.1.47.Final
mvn:io.netty/netty-transport/4.1.47.Final
mvn:io.netty/netty-resolver/4.1.47.Final
mvn:commons-beanutils/commons-beanutils/1.9.4
mvn:commons-logging/commons-logging/1.2
mvn:commons-collections/commons-collections/3.2.2
mvn:com.github.jinahya/bit-io/1.4.3
mvn:commons-codec/commons-codec/1.12
mvn:org.apache.plc4x/plc4j-driver-s7/0.8.0-SNAPSHOT


mvn:org.apache.plc4x/plc4j-driver-modbus/0.8.0-SNAPSHOT


mvn:org.apache.plc4x/plc4j-transport-tcp/0.8.0-SNAPSHOT


mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.0
mvn:org.apache.commons/commons-lang3/3.9
mvn:io.netty/netty-buffer/4.1.47.Final
mvn:io.vavr/vavr/0.10.2
mvn:io.vavr/vavr-match/0.10.2

mvn:org.ow2.asm/asm/8.0.1
mvn:org.ow2.asm/asm-util/8.0.1
mvn:org.ow2.asm/asm-tree/8.0.1
mvn:org.ow2.asm/asm-commons/8.0.1
mvn:org.ow2.asm/asm-analysis/8.0.1

*
wrap:mvn:org.apache.aries.spifly/org.apache.aries.spifly.weaver-internal/1.3.0/$Export-Package=*;version=1.3.0,!*
*
*
wrap:mvn:org.apache.aries.spifly/org.apache.aries.spifly.core-internal/1.3.0/$Export-Package=*;version=1.3.0,!*
   *

mvn:org.apache.aries.spifly/org.apache.aries.spifly.dynamic.bundle/1.3.0




The highlighted packages must be deployed using the wrap protocol
(equivalent to placing them in the "deploy" directory).

2. The features are installed and then the app goes to the "deploy"
directory.
__ __  
   / //_/ __ _/ __/
  / ,<  / __ `/ ___/ __ `/ /_
 / /| |/ /_/ / /  / /_/ / __/
/_/ |_|\__,_/_/   \__,_/_/

  Apache Karaf (4.2.8)

Hit '' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '' or type 'system:shutdown' or 'logout' to shutdown Karaf.

karaf@root()> feature:install aries-blueprint
karaf@root()> feature:repo-add
mvn:com.ceos.merlot/TestPLC4XFeature/0.0.1-SNAPSHOT/xml/features
Adding feature url
mvn:com.ceos.merlot/TestPLC4XFeature/0.0.1-SNAPSHOT/xml/features
karaf@root()> feature:install TestPLC4XFeature
karaf@root()>

3. Now everything works
karaf@root()> plc4x:read modbus 'modbus:tcp://192.168.1.69' 'coil:1'
Find driver service: Modbus
Name..:IP/TCP Transport
Code..:tcp
Synchronous request ...
Caso 1: Tiempo en ms: 2903
Close connection...

I hope it works in your environment.

Sorry for the error, the speed  

Best regards,

El jue., 11 jun. 2020 a las 15:00, Alessio Bernesco Làvore (<
alessio.berne...@gmail.com>) escribió:

> > We are closer, jeje
> ^_^
>
> There's still something strange, installing the aries-blueprint feature
> there still a "Unsupported 'Bundle-ManifestVersion' value: 1"
> Error executing command: Error:
> Unable to create resource for bundle
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.weaver-internal/1.3.0
> Unable to create resource for bundle
> mvn:org.apache.aries.spifly/org.apache.aries.spifly.core-internal/1.3.0
>
> Previously i had installed the aries bundle wrapping them, but i cannot
> understand why i still had those errors.
>
>
> On Thu, Jun 11, 2020 at 8:37 PM Cesar Garcia 
> wrote:
>
> > Hello,
> >
> > You need install Blueprint feature, is not install by default.
> >
> > 1. karaf>feature:install aries-blueprint
> >
> > I see yesterday that new version is out 4.2.9,
> >
> > But I have not tried it. Still, it's a minor update. From what we said it
> > should work, the update of libraries are the same as those of the feature
> > that you are displaying...
> >
> > You can add "aries-blueprint" feature to the app feature.
> >
> > We are closer, jeje
> >
> >
> >
> > El jue., 11 jun. 2020 a las 14:05, Alessio Bernesco Làvore (<
> > alessio.berne...@gmail.com>) escribió:
> >
> > > Hello Cesar,
> > > still no luck, i've redone a clean install and a clean installation of
> > > Karaf (last version 4.2.9).
> > >
> > > Which version of Karaf are you using? Cause installing your feature i
> > have
> > > those errors:
> > >
> &

Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-11 Thread Cesar Garcia
art your bundle, with the same exception.
>
> The things that sounds strange to me is that i was unable to do some basic
> operations, like installing the feature.
>
> Maybe i'm using a different version of Karaf (4.2.8 and 4.2.9) from your?
>
> Greetings,
> Alessio
>
>
>
>
>
>
>
> On Thu, Jun 11, 2020 at 5:43 PM Cesar Garcia 
> wrote:
>
> > Hello Alessio,
> >
> > If the problem is in Karaf, you probably aren't doing a clean boot, so
> you
> > should be using the unmodified version as noted in the previous post.
> >
> > 1. Make sure you compiled the PLC4X project with the modification in
> clean
> > form ("> mvn clean install -DskipTests").
> > 2. Perform a clean boot of Karaf, or preferably delete the "data" and
> > "system" directories of your installation and run "> karaf clean"
> > 3. Install the feature and your application.
> > 4. If it fails you should verify that your Maven installation uses
> > SNAPSHOTs only from your local repository.
> >
> > At this point It should work,
> >
> > I'll be waiting for your confirmation,
> >
> > Best regards,
> >
> > El jue., 11 jun. 2020 a las 7:27, Alessio Bernesco Làvore (<
> > alessio.berne...@gmail.com>) escribió:
> >
> > > Hello Julian,
> > >
> > > providing the complete connection string the error is still present:
> > >
> > > karaf@root()> plc4x:read modbus modbus:tcp://192.168.70.73 coil:1
> > >
> > >
> > > Find driver service: Modbus
> > > Error executing command: Unsupported transport tcp
> > >
> > > During the other test, for example running a local class, the string
> > > without the transport code works flawlessly.
> > >
> > > Greetings,
> > > Alessio
> > >
> > >
> > > On Thu, Jun 11, 2020 at 1:05 PM Julian Feinauer <
> > > j.feina...@pragmaticminds.de> wrote:
> > >
> > > > I guess its in your config. If I remember correctly you have to state
> > the
> > > > transport layer.
> > > > So in your case:
> > > >
> > > > Modbus:tcp://xxx
> > > >
> > > > Does that help?
> > > >
> > > > Am 11.06.20, 12:13 schrieb "Alessio Bernesco Làvore" <
> > > > alessio.berne...@gmail.com>:
> > > >
> > > > Thank you very much Cesar for your insight and your detailed
> > > > explanation,
> > > > much appreciated.
> > > > I've used your feature to enable your example and my works, now
> > they
> > > > both
> > > > find the Modbus driver and all the flow seems clear to me.
> > > >
> > > > Running your command, but also running my test using an
> activator,
> > > > there's
> > > > a transport error:
> > > >
> > > > karaf@root()> plc4x:read modbus modbus://192.168.70.73 coil:1
> > > >
> > > >
> > > > Find driver service: Modbus
> > > > Error executing command: Unsupported transport tcp
> > > >
> > > > I cannot understand if it's still related to a misconfiguration
> on
> > my
> > > > side
> > > > or with the driver.
> > > >
> > > > Greetings,
> > > > Alessio
> > > >
> > > >
> > > >
> > > >
> > > > On Wed, Jun 10, 2020 at 8:25 AM Cesar Garcia <
> > > cesar.gar...@ceos.com.ve
> > > > >
> > > > wrote:
> > > >
> > > > >  Hello Alessio,
> > > > >
> > > > > As I pointed out, with the new design of the drivers it is
> > > necessary
> > > > to
> > > > > make a few modifications so that the system allows
> communication
> > > > with the
> > > > > OSGi container.
> > > > >
> > > > > In a default installation, the load of services in the SPI
> > services
> > > > are not
> > > > > seen between the different bundles, and that is the problem
> that
> > is
> > > > > happening to you and, as Julian pointed out in his email, the
> > > Apache
> > > > Aries
> > > > > Fly project solves it.
> > > > >
> > > > > By default Kar

Re: [Modbus] Specify SlaveID

2020-06-11 Thread Cesar Garcia
Hi,

Your connection string looks something like

modbus: tcp: //192.168.1.69?unit-identifier=12

Take a look at this link,

https://plc4x.apache.org/users/protocols/modbus.html

Best regards,


El jue., 11 jun. 2020 a las 10:17, udeho () escribió:

> Hi all,
>
> I have a general question regarding the Modbus driver.
> Is it possible to specify a specific SlaveID in the connection string (or
> elsewhere)?
> As far as I have experienced, the slave with ID 0 is always used for
> connection.
>
> Cheers,
> Tim
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-11 Thread Cesar Garcia
Hello Alessio,

If the problem is in Karaf, you probably aren't doing a clean boot, so you
should be using the unmodified version as noted in the previous post.

1. Make sure you compiled the PLC4X project with the modification in clean
form ("> mvn clean install -DskipTests").
2. Perform a clean boot of Karaf, or preferably delete the "data" and
"system" directories of your installation and run "> karaf clean"
3. Install the feature and your application.
4. If it fails you should verify that your Maven installation uses
SNAPSHOTs only from your local repository.

At this point It should work,

I'll be waiting for your confirmation,

Best regards,

El jue., 11 jun. 2020 a las 7:27, Alessio Bernesco Làvore (<
alessio.berne...@gmail.com>) escribió:

> Hello Julian,
>
> providing the complete connection string the error is still present:
>
> karaf@root()> plc4x:read modbus modbus:tcp://192.168.70.73 coil:1
>
>
> Find driver service: Modbus
> Error executing command: Unsupported transport tcp
>
> During the other test, for example running a local class, the string
> without the transport code works flawlessly.
>
> Greetings,
> Alessio
>
>
> On Thu, Jun 11, 2020 at 1:05 PM Julian Feinauer <
> j.feina...@pragmaticminds.de> wrote:
>
> > I guess its in your config. If I remember correctly you have to state the
> > transport layer.
> > So in your case:
> >
> > Modbus:tcp://xxx
> >
> > Does that help?
> >
> > Am 11.06.20, 12:13 schrieb "Alessio Bernesco Làvore" <
> > alessio.berne...@gmail.com>:
> >
> > Thank you very much Cesar for your insight and your detailed
> > explanation,
> > much appreciated.
> > I've used your feature to enable your example and my works, now they
> > both
> > find the Modbus driver and all the flow seems clear to me.
> >
> > Running your command, but also running my test using an activator,
> > there's
> > a transport error:
> >
> > karaf@root()> plc4x:read modbus modbus://192.168.70.73 coil:1
> >
> >
> > Find driver service: Modbus
> > Error executing command: Unsupported transport tcp
> >
> > I cannot understand if it's still related to a misconfiguration on my
> > side
> > or with the driver.
> >
> > Greetings,
> > Alessio
> >
> >
> >
> >
> > On Wed, Jun 10, 2020 at 8:25 AM Cesar Garcia <
> cesar.gar...@ceos.com.ve
> > >
> > wrote:
> >
> > >  Hello Alessio,
> > >
> > > As I pointed out, with the new design of the drivers it is
> necessary
> > to
> > > make a few modifications so that the system allows communication
> > with the
> > > OSGi container.
> > >
> > > In a default installation, the load of services in the SPI services
> > are not
> > > seen between the different bundles, and that is the problem that is
> > > happening to you and, as Julian pointed out in his email, the
> Apache
> > Aries
> > > Fly project solves it.
> > >
> > > By default Karaf does not integrate the Aries Fly project (although
> > the
> > > page indicates that it does), it can be added in a feature or you
> can
> > > generate your own version of Karaf (I always start from a minimal
> > > installation), so I complement the feature you published  and you
> > can see
> > > in[1].
> > >
> > > Now each service / consumer must indicate within the manifest the
> > methods
> > > that it export or import as appropriate. In your case you need to
> > specify
> > > the transport services, specifically "PLC4J: Transports: TCP" and
> the
> > > consumer "PLC4J: SPI", which are what cause the problem.
> > Modifications in
> > > [2] and [3] are made in the POMs.
> > >
> > > At this point you should already see the transport and the
> > registered by
> > > spifly like in [4].
> > >
> > > Well, here you can already use PLC4X in your bundle, in [5] leave
> an
> > > example code, creating a Karaf command with which you can access
> the
> > Modbus
> > > or S7 driver indifferently (Just test the Modbus).
> > >
> > > This could somehow be treated as a PR for the project, it should be
> > > evaluated.
> > >
> > > My grain of sand.
> >

Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-10 Thread Cesar Garcia
= 247
>  service.scope = singleton
> Provided by :
>  PLC4J: Driver: Modbus (165)
> Used by:
>  edgecontroller Bundle (164) <--
>
> Anyway starting the bundle the PLC Driver Manager is unable to find the
> driver:
>
> 2020-06-09T09:17:50,132 | INFO  | pipe-bundle:update edgecontroller |
> PlcDriverManager | 152 - org.apache.plc4x.plc4j-api -
> 0.8.0.SNAPSHOT | Instantiating new PLC Driver Manager with class loader
> sun.misc.Launcher$AppClassLoader@764c12b6
> 2020-06-09T09:17:50,132 | INFO  | pipe-bundle:update edgecontroller |
> PlcDriverManager | 152 - org.apache.plc4x.plc4j-api -
> 0.8.0.SNAPSHOT | Registering available drivers...
> 2020-06-09T09:17:50,133 | ERROR | pipe-bundle:update edgecontroller |
> Activator    | 164 - edgecontroller - 1.0.0 | Unable to
> find driver for protocol 'modbus'
>
> Greetings,
> Alessio
>
> On Mon, Jun 8, 2020 at 10:52 PM Cesar Garcia 
> wrote:
>
> >  Hello Alessio,
> >
> > Perform the test with the "feature" that you put online, and I can see
> that
> > the services associated with the drivers are active.
> >
> > karaf@root()> service:list PlcDriver
> > [org.apache.plc4x.java.api.PlcDriver]
> > -
> >  org.apache.plc4x.driver.code = modbus
> >  org.apache.plc4x.driver.name = Modbus
> >  service.bundleid = 59
> >  service.id = 98
> >  service.scope = singleton
> > Provided by :
> >  PLC4J: Driver: Modbus (59)
> >
> > [org.apache.plc4x.java.api.PlcDriver]
> > -
> >  org.apache.plc4x.driver.code = s7
> >  org.apache.plc4x.driver.name = Siemens S7 (Basic)
> >  service.bundleid = 60
> >  service.id = 97
> >  service.scope = singleton
> > Provided by :
> >  PLC4J: Driver: S7 (Step7) (60)
> >
> > The solution is to use the "BundleContext" with a filter and take the
> field
> > "org.apache.plc4x.driver.name " or  the field
> > "org.apache.plc4x.driver.code" ( They are the same ). I think that is the
> > way to do it in an OSGi environment.
> >
> > Loading the services with SPI is redundant, and it may happen that the
> SPI
> > service does not see the PlcDriver Services (typical OSGi problem).
> >
> > My grain of sand,
> >
> > Best regards,
> >
> >
> >
> >
> > El lun., 8 jun. 2020 a las 15:41, Alessio Bernesco Làvore (<
> > alessio.berne...@gmail.com>) escribió:
> >
> > > Thank you Julian,
> > > i've tried to install th Aries SPI Bundle:
> > >
> > > 176 │ Active   │  80 │ 1.3.0  │ Apache Aries SPI Fly
> Dynamic
> > > Weaving Bundle
> > >
> > > But i'm still unable to resolve the drivers.
> > >
> > > Ale
> > >
> > > On Mon, Jun 8, 2020 at 8:13 PM Julian Feinauer <
> > > j.feina...@pragmaticminds.de>
> > > wrote:
> > >
> > > > Hi Alessio,
> > > >
> > > > if I remember correctly you need the Aries SPI Fly package loaded.
> > > > In Plain PLC4X we use ServiceLoader to discover drivers.
> > > > If you have nothing like Aries SPI Fly which mediates and "immitates"
> > the
> > > > ServiceLoader then you dont get a wiring between the DriverManager
> and
> > > the
> > > > driver.
> > > > But I don’t checked the lastst implementation to be honest.
> > > >
> > > > Perhaps @Robinet, Etienne can help?
> > > >
> > > > Julian
> > > >
> > > > Am 08.06.20, 20:00 schrieb "Alessio Bernesco Làvore" <
> > > > alessio.berne...@gmail.com>:
> > > >
> > > > Hello everyone,
> > > > i've created a simple class reading values from a ModBus PLC.
> > > >
> > > > I'm trying to use it inside Karaf, but at start the class is
> unable
> > > to
> > > > find
> > > > the modbus driver. I've compiled and installed in Karaf the
> > > > "driver-s7-feature", with added the modbus driver:
> > > >
> > > > 
> > > > http://karaf.apache.org/xmlns/features/v1.6.0;
> > > > name="driver-s7-feature">
> > > > 
> > > > Implementation of the protocol adapters for
> usage
> > as
> > > > Java
> > > > library.
> > > >
> > >  mvn:org.apache.plc4x/plc4j-o

Re: Karaf: Unable to find driver for protocol 'modbus'

2020-06-08 Thread Cesar Garcia
 Hello Alessio,

Perform the test with the "feature" that you put online, and I can see that
the services associated with the drivers are active.

karaf@root()> service:list PlcDriver
[org.apache.plc4x.java.api.PlcDriver]
-
 org.apache.plc4x.driver.code = modbus
 org.apache.plc4x.driver.name = Modbus
 service.bundleid = 59
 service.id = 98
 service.scope = singleton
Provided by :
 PLC4J: Driver: Modbus (59)

[org.apache.plc4x.java.api.PlcDriver]
-
 org.apache.plc4x.driver.code = s7
 org.apache.plc4x.driver.name = Siemens S7 (Basic)
 service.bundleid = 60
 service.id = 97
 service.scope = singleton
Provided by :
 PLC4J: Driver: S7 (Step7) (60)

The solution is to use the "BundleContext" with a filter and take the field
"org.apache.plc4x.driver.name " or  the field
"org.apache.plc4x.driver.code" ( They are the same ). I think that is the
way to do it in an OSGi environment.

Loading the services with SPI is redundant, and it may happen that the SPI
service does not see the PlcDriver Services (typical OSGi problem).

My grain of sand,

Best regards,




El lun., 8 jun. 2020 a las 15:41, Alessio Bernesco Làvore (<
alessio.berne...@gmail.com>) escribió:

> Thank you Julian,
> i've tried to install th Aries SPI Bundle:
>
> 176 │ Active   │  80 │ 1.3.0  │ Apache Aries SPI Fly Dynamic
> Weaving Bundle
>
> But i'm still unable to resolve the drivers.
>
> Ale
>
> On Mon, Jun 8, 2020 at 8:13 PM Julian Feinauer <
> j.feina...@pragmaticminds.de>
> wrote:
>
> > Hi Alessio,
> >
> > if I remember correctly you need the Aries SPI Fly package loaded.
> > In Plain PLC4X we use ServiceLoader to discover drivers.
> > If you have nothing like Aries SPI Fly which mediates and "immitates" the
> > ServiceLoader then you dont get a wiring between the DriverManager and
> the
> > driver.
> > But I don’t checked the lastst implementation to be honest.
> >
> > Perhaps @Robinet, Etienne can help?
> >
> > Julian
> >
> > Am 08.06.20, 20:00 schrieb "Alessio Bernesco Làvore" <
> > alessio.berne...@gmail.com>:
> >
> > Hello everyone,
> > i've created a simple class reading values from a ModBus PLC.
> >
> > I'm trying to use it inside Karaf, but at start the class is unable
> to
> > find
> > the modbus driver. I've compiled and installed in Karaf the
> > "driver-s7-feature", with added the modbus driver:
> >
> > 
> > http://karaf.apache.org/xmlns/features/v1.6.0;
> > name="driver-s7-feature">
> > 
> > Implementation of the protocol adapters for usage as
> > Java
> > library.
> >
>  mvn:org.apache.plc4x/plc4j-osgi/0.8.0-SNAPSHOT
> > mvn:org.osgi/osgi.core/6.0.0
> >
>  mvn:org.apache.plc4x/plc4j-api/0.8.0-SNAPSHOT
> >
>  mvn:org.apache.plc4x/plc4j-spi/0.8.0-SNAPSHOT
> > mvn:io.netty/netty-codec/4.1.47.Final
> > mvn:io.netty/netty-common/4.1.47.Final
> > mvn:io.netty/netty-transport/4.1.47.Final
> > mvn:io.netty/netty-resolver/4.1.47.Final
> >
>  mvn:commons-beanutils/commons-beanutils/1.9.4
> > mvn:commons-logging/commons-logging/1.2
> >
> > mvn:commons-collections/commons-collections/3.2.2
> > mvn:com.github.jinahya/bit-io/1.4.3
> > mvn:commons-codec/commons-codec/1.12
> >
> > mvn:org.apache.plc4x/plc4j-driver-s7/0.8.0-SNAPSHOT
> >
> >
> > mvn:org.apache.plc4x/plc4j-driver-modbus/0.8.0-SNAPSHOT
> >
> >
> > mvn:org.apache.plc4x/plc4j-transport-tcp/0.8.0-SNAPSHOT
> >
> >
> >
> mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.0
> > mvn:org.apache.commons/commons-lang3/3.9
> > mvn:io.netty/netty-buffer/4.1.47.Final
> > mvn:io.vavr/vavr/0.10.2
> > mvn:io.vavr/vavr-match/0.10.2
> > 
> > 
> >
> > Inside Karaf i can find all the active bundles:
> >
> > 152 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: API
> > 153 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: Driver: S7 (Step7)
> > 154 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: OSGi
> > 155 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: SPI
> > 156 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: Transports: TCP
> > 157 │ Active   │  80 │ 6.0.0.201403061837 │ osgi.core
> > 164 │ Active   │  80 │ 1.0│ edgecontroller Bundle
> > 165 │ Active   │  80 │ 0.8.0.SNAPSHOT │ PLC4J: Driver: Modbus
> >
> > Anyway at startup the bundle doesnt find any driver:
> >
> > 2020-06-08T17:47:43,391 | INFO  | FelixStartLevel  | PlcDriverManager
> >   | 152 - org.apache.plc4x.plc4j-api - 0.8.0.SNAPSHOT |
> > Instantiating new PLC Driver Manager with class loader
> > sun.misc.Launcher$AppClassLoader@764c12b6
> > 2020-06-08T17:47:43,391 | INFO  | FelixStartLevel  | PlcDriverManager
> >   | 152 - org.apache.plc4x.plc4j-api - 0.8.0.SNAPSHOT |
> > Registering
> > available drivers...
> > 2020-06-08T17:47:43,392 | ERROR | 

Re: Driver S7. Step to 0.6.1

2020-06-06 Thread Cesar Garcia
 Hello,

Julian, sorry for the inconvenience. Did you have the opportunity to browse
the information?

Grateful for any help or guidance on the subject,

Best regards,

El mié., 3 jun. 2020 a las 14:03, Julian Feinauer (<
j.feina...@pragmaticminds.de>) escribió:

> Hi Cesar,
>
> let me have a look tomorrow.
> Generally speaking every comitter should be able to do a release rather
> easy and if there are valuable improvements we are free to do one, so you
> have my +1 there.
>
> I can also offer you to RM the 0.6.1 release if you like?
>
> Julian
>
> Am 03.06.20, 18:59 schrieb "Cesar Garcia" :
>
> How are they?
>
> Some time ago, I put in Jira the points to be implemented for the S7
> driver
> version, in order to bring it to version 0.6.1.
>
> I am not an expert in Git, but according to your experience what would
> be
> the necessary steps to generate version 0.6.1? Is it feasible with the
> modifications? Can anyone on the team verify if this migration is
> feasible?
>
> For me it would be very useful to have this code consolidated in PLC4X
> since I have done a number of stability tests and new features.
>
> Thanking you for your guidance,
>
> Best regards,
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Driver S7. Step to 0.6.1

2020-06-03 Thread Cesar Garcia
 Hello Julian,

Thanks for support,

I would not like to touch something and damage it :-) , but I await your
guidance in this regard.

Best regards,

El mié., 3 jun. 2020 a las 14:03, Julian Feinauer (<
j.feina...@pragmaticminds.de>) escribió:

> Hi Cesar,
>
> let me have a look tomorrow.
> Generally speaking every comitter should be able to do a release rather
> easy and if there are valuable improvements we are free to do one, so you
> have my +1 there.
>
> I can also offer you to RM the 0.6.1 release if you like?
>
> Julian
>
> Am 03.06.20, 18:59 schrieb "Cesar Garcia" :
>
> How are they?
>
> Some time ago, I put in Jira the points to be implemented for the S7
> driver
> version, in order to bring it to version 0.6.1.
>
> I am not an expert in Git, but according to your experience what would
> be
> the necessary steps to generate version 0.6.1? Is it feasible with the
> modifications? Can anyone on the team verify if this migration is
> feasible?
>
> For me it would be very useful to have this code consolidated in PLC4X
> since I have done a number of stability tests and new features.
>
> Thanking you for your guidance,
>
> Best regards,
> --
> *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: +58 414-760.98.95*
>
> *Hotline Técnica SIEMENS: 0800 1005080*
>
> *Email: support.aan.automat...@siemens.com
> *
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Exploring Plc4x

2020-05-26 Thread Cesar Garcia
Ok,

For tomorrow I will take the time to test the new version and I will take a
step by step.

Best regards,

El mar., 26 may. 2020 a las 23:42, venki hadoop ()
escribió:

> Sure Cesar,
> was unable to attach my program due to size
> restrictions. But 1st am testing to retrieve holding resgister variable
> locally, then will in corporate into my logstash plugin I already
> implemented for OPC ua server signal simulator. Please find imp code:
> Builder.addItem("value","registerholder:34").
> Plcreadrequest req= builder.build().
>   plcreadresponse res=req.execute().get().
>  Val=res.getObject("value").
>  It's throwing me timeout exception while executing execute().get() method.
> On Wednesday, May 27, 2020, Cesar Garcia  wrote:
>
> > Hello,
> >
> > I'm glad it worked.
> >
> > Sure if you put your example code, we can help you test it.
> >
> > Best regards,
> >
> >
> > El mar., 26 may. 2020 a las 22:53, venki hadoop ( >)
> > escribió:
> >
> > > Hello Cesar,.
> > >Was able to configure device and signal function
> based
> > > on above instructions.
> > >  But am unable to retrieve value, am assuming due to version issue,
> today
> > > will update to 0.7.0 and test then will update you.
> > > Regards,
> > > On Tuesday, May 26, 2020, Cesar Garcia 
> wrote:
> > >
> > > > Hi,
> > > >
> > > > Please, you can use "karaf.bat" for startup.
> > > >
> > > > This way the console start.
> > > >
> > > > __  __ _   _
> > > > |  \/  |   ___   _ __  | |   ___   | |_
> > > > | |\/| |  / _ \ | '__| | |  / _ \  | __|
> > > > | |  | | |  __/ | || | | (_) | | |_
> > > > |_|  |_|  \___| |_||_|  \___/   \__|
> > > >
> > > > Merlot Industrial Gateway (0.0.1-SNAPSHOT)
> > > >
> > > > Hit '' for a list of available commands
> > > > and '[cmd] --help' for help on a specific command.
> > > > Hit '' or type 'system:shutdown' or 'logout' to shutdown
> > Merlot.
> > > >
> > > > karaf@root()>
> > > >
> > > >
> > > > Karaf documentation can be found at https://karaf.apache.org
> > > >
> > > > If the console starts, the Modbus server is already active, so Modbus
> > > > devices must be created.
> > > >
> > > > At the command line type
> > > >
> > > > karaf@root>modbus:new --help
> > > > karaf@root> modbus:new 10 test desc 1000 1000 1000 1000
> > > >
> > > > Then check the configuration file for the simulation of the records
> as
> > I
> > > > pointed out in the previous email.
> > > >
> > > > You must verify if the instance is active, since the option
> "start.bat"
> > > > starts as a service, which you must kill to avoid a problem with the
> > > ports.
> > > >
> > > > Take a look at the concept here https://github.com/glcj/Merlot/wiki,
> I
> > > > will
> > > > work on the documentation shortly.
> > > >
> > > > For tomorrow if you are online, we can use Google meet or other tools
> > if
> > > > you follow the problems.
> > > >
> > > > Best regards,
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > El mar., 26 may. 2020 a las 0:06, venki hadoop (<
> > hadoopons...@gmail.com
> > > >)
> > > > escribió:
> > > >
> > > > > Hello Cesar,.
> > > > >  Can you please provide me some information
> regarding
> > > how
> > > > > to start device, it's bit confusing.
> > >  I
> > > > > made necessary config changes in windows, then started using
> > start.bat
> > > > file
> > > > > from command line prompt. But nothing is happening. Please let me
> > know
> > > > what
> > > > > am doing is correct?
> > > > >Thanks,
> > > > >
> > > > > On Tuesday, May 26, 2020, venki hadoop 
> > wrote:
> > > > >
> > > > > > Thanks Cesar, will test today, update status here.
> > > > > >
> > > > > > On Tuesday, May 26, 2020, Cesar Garcia  >
> > > > wrote:
> > &g

Re: Exploring Plc4x

2020-05-26 Thread Cesar Garcia
Hello,

I'm glad it worked.

Sure if you put your example code, we can help you test it.

Best regards,


El mar., 26 may. 2020 a las 22:53, venki hadoop ()
escribió:

> Hello Cesar,.
>Was able to configure device and signal function based
> on above instructions.
>  But am unable to retrieve value, am assuming due to version issue, today
> will update to 0.7.0 and test then will update you.
> Regards,
> On Tuesday, May 26, 2020, Cesar Garcia  wrote:
>
> > Hi,
> >
> > Please, you can use "karaf.bat" for startup.
> >
> > This way the console start.
> >
> > __  __ _   _
> > |  \/  |   ___   _ __  | |   ___   | |_
> > | |\/| |  / _ \ | '__| | |  / _ \  | __|
> > | |  | | |  __/ | || | | (_) | | |_
> > |_|  |_|  \___| |_||_|  \___/   \__|
> >
> > Merlot Industrial Gateway (0.0.1-SNAPSHOT)
> >
> > Hit '' for a list of available commands
> > and '[cmd] --help' for help on a specific command.
> > Hit '' or type 'system:shutdown' or 'logout' to shutdown Merlot.
> >
> > karaf@root()>
> >
> >
> > Karaf documentation can be found at https://karaf.apache.org
> >
> > If the console starts, the Modbus server is already active, so Modbus
> > devices must be created.
> >
> > At the command line type
> >
> > karaf@root>modbus:new --help
> > karaf@root> modbus:new 10 test desc 1000 1000 1000 1000
> >
> > Then check the configuration file for the simulation of the records as I
> > pointed out in the previous email.
> >
> > You must verify if the instance is active, since the option "start.bat"
> > starts as a service, which you must kill to avoid a problem with the
> ports.
> >
> > Take a look at the concept here https://github.com/glcj/Merlot/wiki, I
> > will
> > work on the documentation shortly.
> >
> > For tomorrow if you are online, we can use Google meet or other tools if
> > you follow the problems.
> >
> > Best regards,
> >
> >
> >
> >
> >
> > El mar., 26 may. 2020 a las 0:06, venki hadoop ( >)
> > escribió:
> >
> > > Hello Cesar,.
> > >  Can you please provide me some information regarding
> how
> > > to start device, it's bit confusing.
>  I
> > > made necessary config changes in windows, then started using start.bat
> > file
> > > from command line prompt. But nothing is happening. Please let me know
> > what
> > > am doing is correct?
> > >Thanks,
> > >
> > > On Tuesday, May 26, 2020, venki hadoop  wrote:
> > >
> > > > Thanks Cesar, will test today, update status here.
> > > >
> > > > On Tuesday, May 26, 2020, Cesar Garcia 
> > wrote:
> > > >
> > > >> Hi Venki,
> > > >>
> > > >> Sorry for the delay, the internet connection was spectacular, the
> ADSL
> > > >> very
> > > >> slow to download and very very & very slow to upload.
> > > >>
> > > >> Attach you will find the download links for the application, the
> > version
> > > >> .zip (Windows) and .tar.gz (Linux)...
> > > >>
> > > >>
> > > https://mega.nz/file/nhVgxAQZ#M11oLJc-N5qDnbeF_
> > AhhsQk5ow9B3rPsIT2bt1ZORLc
> > > >>
> > > https://mega.nz/file/zocg0CyT#Pk5E9nRdM-xdGNDSjAY9hl27pUpWgPDjdsO_
> > apCE6WQ
> > > >>
> > > >> 1.  You can add a Modbus device through the command line or
> > permanently
> > > in
> > > >> the configuration file *com.ceos.merlot.modbus.dev.cfg*. You can
> > > specify
> > > >> the number of elements you require (Coils, Input registers, etc.).
> > > >> 2. After creating the Modbus device, you can add the simulation
> > > services,
> > > >> you have three:
> > > >> Random: Which simulates bits and scalars in a given range of
> > registers.
> > > >> Function: Perform simple math operations
> > > >> Signal: Generates continuous functions (Sinus, square, triangular
> and
> > > >> sawtooth).
> > > >> You can do this in the configuration file *
> > > com.ceos.merlot.modbus.sim.cf
> > > >> g*.
> > > >>
> > > >> The configuration files can be found in the 'etc' directory.
> > > >>
> > > >> In the case of the signals function, you can play w

Re: Exploring Plc4x

2020-05-25 Thread Cesar Garcia
Hi,

Please, you can use "karaf.bat" for startup.

This way the console start.

__  __ _   _
|  \/  |   ___   _ __  | |   ___   | |_
| |\/| |  / _ \ | '__| | |  / _ \  | __|
| |  | | |  __/ | || | | (_) | | |_
|_|  |_|  \___| |_||_|  \___/   \__|

Merlot Industrial Gateway (0.0.1-SNAPSHOT)

Hit '' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '' or type 'system:shutdown' or 'logout' to shutdown Merlot.

karaf@root()>


Karaf documentation can be found at https://karaf.apache.org

If the console starts, the Modbus server is already active, so Modbus
devices must be created.

At the command line type

karaf@root>modbus:new --help
karaf@root> modbus:new 10 test desc 1000 1000 1000 1000

Then check the configuration file for the simulation of the records as I
pointed out in the previous email.

You must verify if the instance is active, since the option "start.bat"
starts as a service, which you must kill to avoid a problem with the ports.

Take a look at the concept here https://github.com/glcj/Merlot/wiki, I will
work on the documentation shortly.

For tomorrow if you are online, we can use Google meet or other tools if
you follow the problems.

Best regards,





El mar., 26 may. 2020 a las 0:06, venki hadoop ()
escribió:

> Hello Cesar,.
>  Can you please provide me some information regarding how
> to start device, it's bit confusing.   I
> made necessary config changes in windows, then started using start.bat file
> from command line prompt. But nothing is happening. Please let me know what
> am doing is correct?
>Thanks,
>
> On Tuesday, May 26, 2020, venki hadoop  wrote:
>
> > Thanks Cesar, will test today, update status here.
> >
> > On Tuesday, May 26, 2020, Cesar Garcia  wrote:
> >
> >> Hi Venki,
> >>
> >> Sorry for the delay, the internet connection was spectacular, the ADSL
> >> very
> >> slow to download and very very & very slow to upload.
> >>
> >> Attach you will find the download links for the application, the version
> >> .zip (Windows) and .tar.gz (Linux)...
> >>
> >>
> https://mega.nz/file/nhVgxAQZ#M11oLJc-N5qDnbeF_AhhsQk5ow9B3rPsIT2bt1ZORLc
> >>
> https://mega.nz/file/zocg0CyT#Pk5E9nRdM-xdGNDSjAY9hl27pUpWgPDjdsO_apCE6WQ
> >>
> >> 1.  You can add a Modbus device through the command line or permanently
> in
> >> the configuration file *com.ceos.merlot.modbus.dev.cfg*. You can
> specify
> >> the number of elements you require (Coils, Input registers, etc.).
> >> 2. After creating the Modbus device, you can add the simulation
> services,
> >> you have three:
> >> Random: Which simulates bits and scalars in a given range of registers.
> >> Function: Perform simple math operations
> >> Signal: Generates continuous functions (Sinus, square, triangular and
> >> sawtooth).
> >> You can do this in the configuration file *
> com.ceos.merlot.modbus.sim.cf
> >> g*.
> >>
> >> The configuration files can be found in the 'etc' directory.
> >>
> >> In the case of the signals function, you can play with the frequency and
> >> phase registers, to adjust the signal to your sampling time. Please
> don't
> >> forget our friend Nyquist.
> >>
> >> I'm going to spend some time on documentation.
> >>
> >> Chris, this is the tool I was telling you about to incorporate into the
> >> PLC4X project, if It meet the requirements of course.
> >>
> >> I hope you find it useful in testing with Modbus
> >>
> >> Best regards,...
> >>
> >>
> >>
> >>
> >>
> >> El vie., 22 may. 2020 a las 2:27, venki hadoop ( >)
> >> escribió:
> >>
> >> > Thanks  Cesar,.
> >> > Sure, will try immediately once it is available and
> will
> >> > give me feedback.
> >> >  Regards,
> >> >
> >> > On Friday, May 22, 2020, Cesar Garcia 
> wrote:
> >> >
> >> > > Hi,
> >> > >
> >> > > Sorry,
> >> > >
> >> > > I misunderstood your email.
> >> > >
> >> > > You already tried from an OPC server, excellent.
> >> > >
> >> > > Remember me next week, I am going to implement the signal simulator
> in
> >> > > Modbus so you can do your tests with the PLC4X driver.
> >> > >
> >> > > The importan

Re: Exploring Plc4x

2020-05-25 Thread Cesar Garcia
Hi Venki,

Sorry for the delay, the internet connection was spectacular, the ADSL very
slow to download and very very & very slow to upload.

Attach you will find the download links for the application, the version
.zip (Windows) and .tar.gz (Linux)...

https://mega.nz/file/nhVgxAQZ#M11oLJc-N5qDnbeF_AhhsQk5ow9B3rPsIT2bt1ZORLc
https://mega.nz/file/zocg0CyT#Pk5E9nRdM-xdGNDSjAY9hl27pUpWgPDjdsO_apCE6WQ

1.  You can add a Modbus device through the command line or permanently in
the configuration file *com.ceos.merlot.modbus.dev.cfg*. You can specify
the number of elements you require (Coils, Input registers, etc.).
2. After creating the Modbus device, you can add the simulation services,
you have three:
Random: Which simulates bits and scalars in a given range of registers.
Function: Perform simple math operations
Signal: Generates continuous functions (Sinus, square, triangular and
sawtooth).
You can do this in the configuration file *com.ceos.merlot.modbus.sim.cfg*.

The configuration files can be found in the 'etc' directory.

In the case of the signals function, you can play with the frequency and
phase registers, to adjust the signal to your sampling time. Please don't
forget our friend Nyquist.

I'm going to spend some time on documentation.

Chris, this is the tool I was telling you about to incorporate into the
PLC4X project, if It meet the requirements of course.

I hope you find it useful in testing with Modbus

Best regards,...





El vie., 22 may. 2020 a las 2:27, venki hadoop ()
escribió:

> Thanks  Cesar,.
> Sure, will try immediately once it is available and will
> give me feedback.
>  Regards,
>
> On Friday, May 22, 2020, Cesar Garcia  wrote:
>
> > Hi,
> >
> > Sorry,
> >
> > I misunderstood your email.
> >
> > You already tried from an OPC server, excellent.
> >
> > Remember me next week, I am going to implement the signal simulator in
> > Modbus so you can do your tests with the PLC4X driver.
> >
> > The important thing is that you give us feedback, on any point of
> > improvement of the driver.
> >
> > Best regards,
> >
> > El jue., 21 may. 2020 a las 12:59, venki hadoop ( >)
> > escribió:
> >
> > > Hello  Cesar,
> > >I already tested with Modbus, but want to test with
> > > streaming data ( data updated continuously) like how I tested using OPC
> > UA
> > > server.  Was unable to get streaming data using Modbus simulator.
> > >Regards,
> > >
> > > On Thursday, May 21, 2020, Cesar Garcia 
> > wrote:
> > >
> > > >  Hello,
> > > >
> > > > Why don't you try Modbus first to try out the different PLC4X tools.
> > > >
> > > > It is one of the simplest and most widely used protocols.
> Additionally,
> > > > Chris has made excellent documentation of the tools.
> > > >
> > > > https://plc4x.apache.org/users/plc4j/virtual-modbus.html
> > > >
> > > > As for the Siemens Software, you can use it for 15 days by
> downloading
> > it
> > > > from its pages.
> > > >
> > > > My grain of sand,
> > > >
> > > > Happiness,
> > > >
> > > > El mié., 20 may. 2020 a las 12:13, venki hadoop (<
> > hadoopons...@gmail.com
> > > >)
> > > > escribió:
> > > >
> > > > > Hi Lukas, went through the video mentioned. But I didn't get which
> > > > siemens
> > > > > simulator they used for demo? Can some one let me know free siemens
> > s7
> > > > plc
> > > > > simulator for poc purpose?
> > > > >
> > > > > On Monday, May 18, 2020, Lukas Ott  wrote:
> > > > >
> > > > > > Hi Venki welcome to the PLC4X community,
> > > > > >
> > > > > > First direction we can point you to is the webinar from Julian:
> > > > > > https://youtu.be/MIp_0OcDTr4 There he shows in detail how to
> > connect
> > > > > > Siemens PLCs to PLC4X.
> > > > > > Additionally he shows you how to connect to a simulated PLC
> server
> > > > which
> > > > > is
> > > > > > maybe what you are looking for to test and develop your
> application
> > > > with
> > > > > > the Kafka connector.
> > > > > >
> > > > > > Best regards,
> > > > > > Lukas
> > > > > >
> > > > > > Am Mo., 18. Mai 2020 um 16:04 Uhr schrieb venki hadoop <
>

Re: [VOTE] Apache PLC4X 0.7.0 RC2

2020-05-22 Thread Cesar Garcia
Hi Chris,

+1

1. Download all staged artifacts under the url specifie, OK
2. Verify the signature is correct , OK
3. Check if the check is successful. OK
4. Check if the signature references an Apache email address. OK
5. Verify the SHA512 hashes: [FAIL]
ORIGINAL:
723a4e042e716af17ec3048a83a57bbf723aae8c552aa4a053ddd02955ec4a021b4083a3fc11095dad4d5bc98f77bef9c359fbee6297071931f888b59e77c3b7
LOCAL:
d7ac91749f294f463f0a0128dfe13a56eda54f046173a1d2d1bf0e6f2b45111cd391ef4da989d590da8a6789a6e0a0709bfbe27d73e79bc9e39ef640cb4e5eb8
6. Verify the existence of LICENSE, NOTICE, README, RELEASE_NOTES files in
the extracted source bundle. OK
7. Run RAT externally to ensure there are no surprises. OK,
but 7 Unknown Licenses.
8. Search for SNAPSHOT references: OK
./plc4j/drivers/ads/pom.xml
./plc4j/examples/dummy-driver/pom.xml
./plc4j/examples/pom.xml
./plc4j/integrations/apache-camel/pom.xml
./plc4j/integrations/apache-edgent/pom.xml
./plc4j/integrations/apache-kafka/pom.xml
./plc4j/integrations/apache-nifi/nifi-plc4x-nar/pom.xml
./plc4j/integrations/logstash-plugin/pom.xml
./plc4j/karaf-features/camel/pom.xml
./plc4j/karaf-features/eip/pom.xml
./plc4j/karaf-features/karaf-itest/pom.xml
./plc4j/karaf-features/pom.xml
./plc4j/karaf-features/s7/pom.xml
./plc4j/protocols/ads/pom.xml
./plc4j/protocols/benchmarks/pom.xml
./plc4j/protocols/delta-v/pom.xml
./plc4j/protocols/pom.xml
9. Search for Copyright references, and if they are in headers, make sure
these files containing them are mentioned in the LICENSE file., OK
10. Build the project according to the information in the README.md file.
Using: ">mvn -P with-sandbox install", OK

Best regards,


El mar., 19 may. 2020 a las 15:01, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Apache PLC4X 0.7.0 has been staged under [2] and it’s time to vote
> on accepting it for release. All Maven artifacts are available under [1].
> Voting will be open for 72hr.
>
> A minimum of 3 binding +1 votes and more binding +1 than binding -1
> are required to pass.
>
> Release tag: release/0.7.0
> Hash for the release tag: a936a9fe1935470f6103f2dcde6d6608d99ddf73
>
> Per [3] "Before voting +1 PMC members are required to download
> the signed source code package, compile it as provided, and test
> the resulting executable on their own platform, along with also
> verifying that the package meets the requirements of the ASF policy
> on releases."
>
> You can achieve the above by following [4].
>
> [ ]  +1 accept (indicate what you validated - e.g. performed the non-RM
> items in [4])
> [ ]  -1 reject (explanation required)
>
>
> [1] https://repository.apache.org/content/repositories/orgapacheplc4x1028
> [2] https://dist.apache.org/repos/dist/dev/plc4x/0.7.0/rc2
> [3] https://www.apache.org/dev/release.html#approving-a-release
> [4] https://plc4x.apache.org/developers/release/validation.html
>
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Exploring Plc4x

2020-05-22 Thread Cesar Garcia
Hi,

Sorry,

I misunderstood your email.

You already tried from an OPC server, excellent.

Remember me next week, I am going to implement the signal simulator in
Modbus so you can do your tests with the PLC4X driver.

The important thing is that you give us feedback, on any point of
improvement of the driver.

Best regards,

El jue., 21 may. 2020 a las 12:59, venki hadoop ()
escribió:

> Hello  Cesar,
>I already tested with Modbus, but want to test with
> streaming data ( data updated continuously) like how I tested using OPC UA
> server.  Was unable to get streaming data using Modbus simulator.
>Regards,
>
> On Thursday, May 21, 2020, Cesar Garcia  wrote:
>
> >  Hello,
> >
> > Why don't you try Modbus first to try out the different PLC4X tools.
> >
> > It is one of the simplest and most widely used protocols. Additionally,
> > Chris has made excellent documentation of the tools.
> >
> > https://plc4x.apache.org/users/plc4j/virtual-modbus.html
> >
> > As for the Siemens Software, you can use it for 15 days by downloading it
> > from its pages.
> >
> > My grain of sand,
> >
> > Happiness,
> >
> > El mié., 20 may. 2020 a las 12:13, venki hadoop ( >)
> > escribió:
> >
> > > Hi Lukas, went through the video mentioned. But I didn't get which
> > siemens
> > > simulator they used for demo? Can some one let me know free siemens s7
> > plc
> > > simulator for poc purpose?
> > >
> > > On Monday, May 18, 2020, Lukas Ott  wrote:
> > >
> > > > Hi Venki welcome to the PLC4X community,
> > > >
> > > > First direction we can point you to is the webinar from Julian:
> > > > https://youtu.be/MIp_0OcDTr4 There he shows in detail how to connect
> > > > Siemens PLCs to PLC4X.
> > > > Additionally he shows you how to connect to a simulated PLC server
> > which
> > > is
> > > > maybe what you are looking for to test and develop your application
> > with
> > > > the Kafka connector.
> > > >
> > > > Best regards,
> > > > Lukas
> > > >
> > > > Am Mo., 18. Mai 2020 um 16:04 Uhr schrieb venki hadoop <
> > > > hadoopons...@gmail.com>:
> > > >
> > > > > -- Forwarded message --
> > > > > From: *venki hadoop* 
> > > > > Date: Saturday, May 16, 2020
> > > > > Subject: Exploring Plc4x
> > > > > To: dev-subscr...@plc4x.apache.org
> > > > > Cc: chtistofer.d...@c-ware.de
> > > > >
> > > > >
> > > > > Hello Everyone,
> > > > >  Am a big data/cloud architect working on analytics
> > > from
> > > > > India. Was working in IOT industry since 2 years with different
> > clients
> > > > but
> > > > > mostly on analytics side than machine side. Recently when exploring
> > > about
> > > > > IIOT got to know about plc4x tool. Since then trying to explore and
> > > > present
> > > > > to larger audience in my company if it suits our requirements.
> > > > >So
> > what
> > > am
> > > > > planning right now is :
> Read
> > > > > streaming data from siemens device and push it Kafka from there
> > > > dashboard.
> > > > > From examples provided in documentation was able to easily
> correlate
> > > > > pushing data into Kafka and afterwards.  But as I don't have any
> > > > experience
> > > > > it's hard to understand for me about the device configuration and
> > > > > integrating with plc4x( I know this are basic plc questions, please
> > > bear
> > > > me
> > > > > with me for some time). Now in order to start my poc, I need
> > fallowing
> > > > > information. Can someone help me on this.  1. Any siemens
> plc
> > > > > device simulator for poc?   2. What
> configuration
> > > we
> > > > > need and we have to check from plc side( assuming I have some
> > > temperature
> > > > > kind of sensor).
> > > > >   3. How to point to plc output data from Kafka
> > > > > connect?( Was confused with memory blocks, fields, etc in the
> code).
> > > > >
> > > > >  I know this are very basic

Re: Exploring Plc4x

2020-05-21 Thread Cesar Garcia
Hi Venki,

The OPC-UA simulator of this company allows you to simulate a significant
number of signals.

I think it will be useful to you,

*http://www.integrationobjects.com <http://www.integrationobjects.com>*

Best regards,



El jue., 21 may. 2020 a las 12:59, venki hadoop ()
escribió:

> Hello  Cesar,
>I already tested with Modbus, but want to test with
> streaming data ( data updated continuously) like how I tested using OPC UA
> server.  Was unable to get streaming data using Modbus simulator.
>Regards,
>
> On Thursday, May 21, 2020, Cesar Garcia  wrote:
>
> >  Hello,
> >
> > Why don't you try Modbus first to try out the different PLC4X tools.
> >
> > It is one of the simplest and most widely used protocols. Additionally,
> > Chris has made excellent documentation of the tools.
> >
> > https://plc4x.apache.org/users/plc4j/virtual-modbus.html
> >
> > As for the Siemens Software, you can use it for 15 days by downloading it
> > from its pages.
> >
> > My grain of sand,
> >
> > Happiness,
> >
> > El mié., 20 may. 2020 a las 12:13, venki hadoop ( >)
> > escribió:
> >
> > > Hi Lukas, went through the video mentioned. But I didn't get which
> > siemens
> > > simulator they used for demo? Can some one let me know free siemens s7
> > plc
> > > simulator for poc purpose?
> > >
> > > On Monday, May 18, 2020, Lukas Ott  wrote:
> > >
> > > > Hi Venki welcome to the PLC4X community,
> > > >
> > > > First direction we can point you to is the webinar from Julian:
> > > > https://youtu.be/MIp_0OcDTr4 There he shows in detail how to connect
> > > > Siemens PLCs to PLC4X.
> > > > Additionally he shows you how to connect to a simulated PLC server
> > which
> > > is
> > > > maybe what you are looking for to test and develop your application
> > with
> > > > the Kafka connector.
> > > >
> > > > Best regards,
> > > > Lukas
> > > >
> > > > Am Mo., 18. Mai 2020 um 16:04 Uhr schrieb venki hadoop <
> > > > hadoopons...@gmail.com>:
> > > >
> > > > > -- Forwarded message --
> > > > > From: *venki hadoop* 
> > > > > Date: Saturday, May 16, 2020
> > > > > Subject: Exploring Plc4x
> > > > > To: dev-subscr...@plc4x.apache.org
> > > > > Cc: chtistofer.d...@c-ware.de
> > > > >
> > > > >
> > > > > Hello Everyone,
> > > > >  Am a big data/cloud architect working on analytics
> > > from
> > > > > India. Was working in IOT industry since 2 years with different
> > clients
> > > > but
> > > > > mostly on analytics side than machine side. Recently when exploring
> > > about
> > > > > IIOT got to know about plc4x tool. Since then trying to explore and
> > > > present
> > > > > to larger audience in my company if it suits our requirements.
> > > > >So
> > what
> > > am
> > > > > planning right now is :
> Read
> > > > > streaming data from siemens device and push it Kafka from there
> > > > dashboard.
> > > > > From examples provided in documentation was able to easily
> correlate
> > > > > pushing data into Kafka and afterwards.  But as I don't have any
> > > > experience
> > > > > it's hard to understand for me about the device configuration and
> > > > > integrating with plc4x( I know this are basic plc questions, please
> > > bear
> > > > me
> > > > > with me for some time). Now in order to start my poc, I need
> > fallowing
> > > > > information. Can someone help me on this.  1. Any siemens
> plc
> > > > > device simulator for poc?   2. What
> configuration
> > > we
> > > > > need and we have to check from plc side( assuming I have some
> > > temperature
> > > > > kind of sensor).
> > > > >   3. How to point to plc output data from Kafka
> > > > > connect?( Was confused with memory blocks, fields, etc in the
> code).
> > > > >
> > > > >  I know this are very basic questions from plc side, but my no
> > > > > experience with plc side make me hard to understand using Google.
> > > > >Last but not least,
> > > thanks
> > > > > Christofer for introducing me for this platform and plc4x tool.
> > > > >Best Regards,
> > > > >
> > > >
> > >
> >
> >
> > --
> > *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: +58 414-760.98.95*
> >
> > *Hotline Técnica SIEMENS: 0800 1005080*
> >
> > *Email: support.aan.automat...@siemens.com
> > *
> >
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Exploring Plc4x

2020-05-21 Thread Cesar Garcia
 Hello,

Why don't you try Modbus first to try out the different PLC4X tools.

It is one of the simplest and most widely used protocols. Additionally,
Chris has made excellent documentation of the tools.

https://plc4x.apache.org/users/plc4j/virtual-modbus.html

As for the Siemens Software, you can use it for 15 days by downloading it
from its pages.

My grain of sand,

Happiness,

El mié., 20 may. 2020 a las 12:13, venki hadoop ()
escribió:

> Hi Lukas, went through the video mentioned. But I didn't get which siemens
> simulator they used for demo? Can some one let me know free siemens s7 plc
> simulator for poc purpose?
>
> On Monday, May 18, 2020, Lukas Ott  wrote:
>
> > Hi Venki welcome to the PLC4X community,
> >
> > First direction we can point you to is the webinar from Julian:
> > https://youtu.be/MIp_0OcDTr4 There he shows in detail how to connect
> > Siemens PLCs to PLC4X.
> > Additionally he shows you how to connect to a simulated PLC server which
> is
> > maybe what you are looking for to test and develop your application with
> > the Kafka connector.
> >
> > Best regards,
> > Lukas
> >
> > Am Mo., 18. Mai 2020 um 16:04 Uhr schrieb venki hadoop <
> > hadoopons...@gmail.com>:
> >
> > > -- Forwarded message --
> > > From: *venki hadoop* 
> > > Date: Saturday, May 16, 2020
> > > Subject: Exploring Plc4x
> > > To: dev-subscr...@plc4x.apache.org
> > > Cc: chtistofer.d...@c-ware.de
> > >
> > >
> > > Hello Everyone,
> > >  Am a big data/cloud architect working on analytics
> from
> > > India. Was working in IOT industry since 2 years with different clients
> > but
> > > mostly on analytics side than machine side. Recently when exploring
> about
> > > IIOT got to know about plc4x tool. Since then trying to explore and
> > present
> > > to larger audience in my company if it suits our requirements.
> > >So what
> am
> > > planning right now is :  Read
> > > streaming data from siemens device and push it Kafka from there
> > dashboard.
> > > From examples provided in documentation was able to easily correlate
> > > pushing data into Kafka and afterwards.  But as I don't have any
> > experience
> > > it's hard to understand for me about the device configuration and
> > > integrating with plc4x( I know this are basic plc questions, please
> bear
> > me
> > > with me for some time). Now in order to start my poc, I need fallowing
> > > information. Can someone help me on this.  1. Any siemens plc
> > > device simulator for poc?   2. What configuration
> we
> > > need and we have to check from plc side( assuming I have some
> temperature
> > > kind of sensor).
> > >   3. How to point to plc output data from Kafka
> > > connect?( Was confused with memory blocks, fields, etc in the code).
> > >
> > >  I know this are very basic questions from plc side, but my no
> > > experience with plc side make me hard to understand using Google.
> > >Last but not least,
> thanks
> > > Christofer for introducing me for this platform and plc4x tool.
> > >Best Regards,
> > >
> >
>


-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [Modbus] Querying Values from Holding Register

2020-05-20 Thread Cesar Garcia
Hi.

In this branch you can find the modifications to the Modbus 0.6.0 driver to
read scalar types from the same requested field.

https://github.com/glcj/plc4x/tree/s7alarm

In the future we must follow the new driver model 0.7.0

I hope it is useful for you,

Best regards,


El mié., 20 may. 2020 a las 6:52, udeho () escribió:

> Hi Chris,
>
> yes, I use the 0.6.0 version.
> Great, I will try to do it again when the new version is available and let
> you know whether it works.
> Thank you very much!
>
> Best
> Tim
>
> -Original Message-
> From: Christofer Dutz 
> Sent: Mittwoch, 20. Mai 2020 11:28
> To: dev@plc4x.apache.org
> Subject: Re: [Modbus] Querying Values from Holding Register
>
> Hi Tim,
>
> I guess you are using one of the "old generation" drivers (As you say it's
> working and the address seems to imply that).
> Perhaps you should either try the version 0.8.0-SNAPSHOT or wait for 2
> more days till we release the 0.7.0 version.
>
> In the 0.7.0 version we have completely deleted all existing drivers and
> replaced them by new ones.
> While at it I took the liberty of making the Modbus a little more robust.
>
> So it would be great if you could give us feedback if your problem goes
> away magically when updating to these driver versions.
>
> Chris
>
>
>
> Am 20.05.20, 10:24 schrieb "udeho" :
>
> Hi all,
>
> I have tried to query values from the holding register of a simulated
> modbus device and process them as integer using the following code:
> // read integer / holding register
> PlcDriverManager driverManager = new
> PlcDriverManager();
> String conString = "modbus:tcp://localhost";
> PlcConnection plcCon =
> driverManager.getConnection(conString);
> PlcReadRequest.Builder builder =
> plcCon.readRequestBuilder();
> builder.addItem("value", "readholdingregisters:1");
> PlcReadRequest readRequest = builder.build();
> PlcReadResponse resp = readRequest.execute().get();
>
> This runs well, but when I try to handle the result as integer (using
> resp.getInteger("value")) I always get null as result no matter what's in
> the register.
> For Boolean values in the coil this works without any problem (using
> getBoolean() of course).
> Another approach I tried is using the getAllByteArrays("value");
> command, but I haven't found a way to get the returned collection of byte
> arrays into integers.
>
> Can you give me an indication of what my problem may be or what I'm
> doing wrong?
>
> Thank you very much in advance!
>
> Best
> Tim
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [VOTE] Apache PLC4X 0.7.0 RC1

2020-05-16 Thread Cesar Garcia
Hi Chris,

1+

1. Download all staged artifacts under the url specifie, OK
2. Verify the signature is correct , OK
3. Check if the check is successful. OK
4. Check if the signature references an Apache email address. OK
5. Verify the SHA512 hashes: OK
6. Verify the existence of LICENSE, NOTICE, README, RELEASE_NOTES files in
the extracted source bundle. OK
7. Run RAT externally to ensure there are no surprises. OK, but 7 Unknown
Licenses.
8. Search for SNAPSHOT references: OK
./plc4j/drivers/ads/pom.xml
./plc4j/examples/dummy-driver/pom.xml
./plc4j/examples/hello-webapp/client/pom.xml
./plc4j/examples/hello-webapp/pom.xml
./plc4j/examples/hello-webapp/webapp/pom.xml
./plc4j/examples/pom.xml
./plc4j/integrations/apache-camel/pom.xml
./plc4j/integrations/apache-edgent/pom.xml
./plc4j/integrations/apache-kafka/pom.xml
./plc4j/integrations/apache-nifi/nifi-plc4x-nar/pom.xml
./plc4j/integrations/logstash-plugin/pom.xml
./plc4j/karaf-features/camel/pom.xml
./plc4j/karaf-features/eip/pom.xml
./plc4j/karaf-features/karaf-itest/pom.xml
./plc4j/karaf-features/pom.xml
./plc4j/karaf-features/s7/pom.xml
./plc4j/protocols/ads/pom.xml
./plc4j/protocols/benchmarks/pom.xml
./plc4j/protocols/delta-v/pom.xml
./plc4j/protocols/pom.xml

9. Search for Copyright references, and if they are in headers, make sure
these files containing them are mentioned in the LICENSE file., OK
10. Build the project according to the information in the README.md file.
Using: ">mvn -P with-sandbox install", OK


OS: Windows 10 Pro.
Java: openjdk 11.0.4 2019-07-16
Maven: openjdk 11.0.4 2019-07-16



El vie., 15 may. 2020 a las 12:52, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Apache PLC4X 0.7.0 has been staged under [2] and it’s time to vote
> on accepting it for release. All Maven artifacts are available under [1].
> Voting will be open for 72hr.
>
> A minimum of 3 binding +1 votes and more binding +1 than binding -1
> are required to pass.
>
> Release tag: release/0.7.0
> Hash for the release tag: c06b73473383405a550ac4f4cee7dd8636325a35
>
> Per [3] "Before voting +1 PMC members are required to download
> the signed source code package, compile it as provided, and test
> the resulting executable on their own platform, along with also
> verifying that the package meets the requirements of the ASF policy
> on releases."
>
> You can achieve the above by following [4].
>
> [ ]  +1 accept (indicate what you validated - e.g. performed the non-RM
> items in [4])
> [ ]  -1 reject (explanation required)
>
>
> [1] https://repository.apache.org/content/repositories/orgapacheplc4x-1027
> [2] https://dist.apache.org/repos/dist/dev/plc4x/0.7.0/rc1
> [3] https://www.apache.org/dev/release.html#approving-a-release
> [4] https://plc4x.apache.org/developers/release/validation.html
>
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: Best Practices / Experiences from the field (Subscription/Polling for Data)

2020-05-14 Thread Cesar Garcia
Hello Wolfgang,

The answer will depend on the hardware you use for your machine, I can tell
you based on my experience with Siemens equipment.

*> If I am looking for gathering as detailed as possible Data from
Machines… what would be first choice ? Subcription for ChangedValues ?
Active Polling ? *

Do you want a (1) record historical data with that resolution in the time
signature or do you really want to (2) capture an event with that time
precision?

For the first case you can sample times by polling between 50 to 80 msec,
this for an S7-300 and between 17 to 20 msec for an S7-400. I do not have
an S7-1500 physically, but the performance should be close to that of an
S7-400, the same should happen with VIPA CPUs.

There are other sampling techniques for the S7-300 / 400 that guarantee a
stable subscription with multiples of 100 msec.

For the second case (events), you can use the data capture with the CPU
warning system with the SFC ALARM, NOTIFY, etc. which guarantee the capture
of data at ms, this is very well documented by Siemens. The important thing
is that the timestamp comes from the PLC not from the computer where you
are running PLC4X.

*> I know that these are also quite machine/protocol specific questions but
it would be interesting to learn what numbers could be achieved by using
PLC4x ? *

You are correct, the Modbus driver of PLC4X, I have captures of 10 msec,
but we are talking about Pears and Apples.

My grain of sand,
Best regards,









El jue., 14 may. 2020 a las 13:00, Wolfgang Huse ()
escribió:

> Hi,
> maybe you could share some experiences from realworld-use-cases how to
> work with PLC4x ?
> If I am looking for gathering as detailed as possible Data from Machines…
> what would be first choice ? Subcription for ChangedValues ? Active Polling
> ?
>
> What is an interval which is usable in real world for polling ? 100ms,
> 10ms ?
>
> I know that these are also quite machine/protocol specific questions but
> it would be interesting to learn what numbers could be achieved by using
> PLC4x ?
>
> Mit freundlichen Grüßen – With kind regards
>
> Wolfgang Huse
>
>

-- 
*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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


Re: [Introduction] Christofer Dutz

2020-05-06 Thread Cesar Garcia
Hi Alls,

I am an electrical engineer, graduated from Universidad de Oriente, 50
years old, I live in Barcelona, Venezuela with two daughters and my wife.

My first computer, an Atari-800XL. :-)

My first automation work was done for the mining area. Mining is very hard
work where safety must always come first and it is the first rule that I
teach the people who have worked with me.
On weekends I had the development of Web pages as a hobby, for the company
and to learn some Linux. Much of this fieldwork was with Sy / Max teams
from Square D.

Then I went to the beverage area (Brewery), where I made my beginnings with
Siemens S5 and many of its variants, as well as many of its functions for
the development of applications in the Brewery area that are still used
(Braumat, Proleit, etc.).
Trying to promote at that time in any meeting Linux or open technologies
was or is sacrilege or heresy in that corporation.

My conclusion was that marketing rules Automation, the example is when a
colleague indicated that a KHS inspection machine started with Linux Suse.
Fuck!

Then with my own company, we developed a Kannel-based Gateway (Open Source)
for a telecommunications company also using many high-availability Linux
tools. It ran smoothly throughout its lifetime.

As partners with Siemens, we carry out many Automation projects for the
mining, beverages, food and Oil & Gas areas, also having training in their
tools (PCS7, Braumat, TIA, etc).
>From these works I remember another Gateway that I developed for the
Siemens Apacs and S7 (PCS7) teams, which runs in Java.
After evaluating many tools for implementation (Tomcat, JBoss, etc.) the
last one was Karaf, my brain exploded, this complies with the maxim of
automation, "keep things stupid simple ".
The Gateway runs 24/7 only for scheduled maintenance.

My area of interest has always been the development of a stack of
applications for Automation (from the PLC to the end customer), from there
I come to PLC4X, where the concept of maintaining a uniform API seems
essential to me.
I hate OPC-DA for its DCOM issues and OPC-UA for its fragmentation and
implementation difficulties (a lot of Marketing again).

In specific my areas of interest: Simatic S7, PCS7, Java, Epics,
ControlSystemStudio (CSS), Karaf, S88, PackML, Security systems (SIS).

Best regards,

PS: In the brewery we had a phrase for the programs that came from Germany.
"So that you are going to be easy if you can make it difficult", jeje




El mar., 5 may. 2020 a las 7:23, Christofer Dutz ()
escribió:

> Hi all,
>
> I have noticed that our tram has grown quite a bit in the last year and
> most of you I have never met personally.
> We have been discussing a lot of things here on the list and on slack, but
> I only have little background on who you folks actually are.
>
> So I would like to ask anyone interested to just introduce himself in this
> thread.
>
> I’ll start:
>
> My name is Christofer Dutz, I’m currently 42 years old and studied
> computer-science at the University of Darmstadt.
> I’m the son of an Electro-Engineer and therefore already had contact with
> all of this automation stuff when I was a kid, but somehow lost contact
> when I discovered my interest in computers.
>
> Being an IT guy living near Frankfurt (Germany) there is almost no chance
> to not work for Banks and Insurance companies. So I guess I’ve been working
> for about 12 different Banks and Insurance companies in the last 15 years.
> I always like to compare working for a bank like asking Picasso to paint a
> portrait, but to have him wear a mental-institution restraining jacket and
> have him paint with a brush in his mouth. End of the first quarter of 2017
> it was getting so unbearable for me, that I was thinking about giving up my
> profession as an IT specialist and even starting to learn something new. I
> was already looking for companies looking for an apprentice as carpenter,
> when I had another round of self-reflection. Even if I probably would have
> been good as a carpenter, I still love doing my job, just not for Banks and
> Insurance companies.
> I was seeing the same with a lot of my colleagues.
>
> It was that time that Industry 4.0 was everywhere … all the problems are
> easily addressable with open-source and a lot of the skills I have from the
> banking would have been a perfect match. So I had a look at what’s missing
> in this big picture and pretty quickly noticed the data-access problem is
> the biggest barrier and no solution being available or in sight.
>
> Luckily at codecentric we have something called “Innovation budget”. Here
> if you’ve got an idea, you can pitch in some shark-tank-like session with
> the board and if they like it, you get the funds for doing that. My idea
> was to build a universal protocol adapter. From the beginning I said I want
> this to be a true open-source project at Apache. The benefit for
> codecentric would be to eliminate the barriers to offering IIoT solutions
> with 

Re: [DISCUSS] Finally release 0.7.0?

2020-04-30 Thread Cesar Garcia
Hi Chris,

Seem right,

I would like to test the S7 driver with the new version,

1+

Excellent,

El jue., 30 abr. 2020 a las 3:04, Christofer Dutz (<
christofer.d...@c-ware.de>) escribió:

> Hi folks,
>
> I think we should release soon so first people can start using our new
> generated drivers.
>
> What do you think?
>
> I know we’re currently missing an ADS driver, but I think we’ve waited
> long enough.
>
> 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: +58 414-760.98.95*

*Hotline Técnica SIEMENS: 0800 1005080*

*Email: support.aan.automat...@siemens.com
*


  1   2   >