Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [4diac-dev] Old modbus improvements and an OPC UA bugfix

Dear Davor,

thanks a lot for letting us know. Yes the new Modbus sits there for the final adaption. I somehow never found time to final take it over. However the old
implementation still has its use and I'm very happy for any improvements there.

I would love to take your changes into the official 4diac FORTE code. For that we have to follow the official Eclipse Foundation contribution process. Therefore
I kindly ask you if you could have a look onto the documentation provided by Jose describing this process for Eclipse 4diac:
https://www.eclipse.org/4diac/en_help.php?helppage=html/development/contribute.html

If you have any questions or issues I'm happy to support you.

BR,
Alois


On Mon, 2021-07-05 at 12:18 +0200, Davor Cihlar wrote:
> Hi all! I hope I'm at the right place.
> I made many improvements for the old Modbus implementation (I've completely missed that you already have something new in the making, but still, it is halted
> for at least a year now). It is possible now to use multiple FBs for the same Modbus connection and it supports coils and what not. It's still not a pretty
> solution but at least it is better than it was.
> I've put all my changes on Bitbucket if you want to take a look or even take them: https://bitbucket.org/dcihlar/forte-modbus/src/modbus-improvements/ , on
> "modbus-improvements" branch.
> I've also found out that OPC UA thread uses 100% CPU and it turned out to be wrong units of time. Semaphores expect us, but a ms value is given and therefore
> it returns immediately:
> --- a/src/com/opc_ua/opcua_local_handler.cpp
> +++ b/src/com/opc_ua/opcua_local_handler.cpp
> @@ -98,7 +98,7 @@ void COPC_UA_Local_Handler::run() {
>              timeToSleepMs = scmMinimumIterationWaitTime;
>            }
>  
> -          mServerNeedsIteration.timedWait(static_cast<unsigned int>(timeToSleepMs));
> +          mServerNeedsIteration.timedWait(static_cast<TForteUInt64>(timeToSleepMs) * 1000);
>          }
>          retVal = UA_Server_run_shutdown(mUaServer);
>          if(UA_STATUSCODE_GOOD == retVal) {
>
> Anyway, I hope this will be useful to you. I'm really liking 4diac, this is some great work you're doing. But it is still missing at least some documentation
> about generic FBs and things like that. :) I figured that out only after looking through the source code.
> Best regards,
>  Davor Cihlar
> _______________________________________________
> 4diac-dev mailing list
> 4diac-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/4diac-dev




Back to the top