How to read individual bits from holding registers of VFDs in OCMC Configuration ? , I've tried typing the address like that 403201:0 or 403201.1 but it doesn't work .
How to read individual bits from holding registers of VFDs in OCMC Configuration ? , I've tried typing the address like that 403201:0 or 403201.1 but it doesn't work .
Hi, Some more details is surly needed to help you here.
But have you tried .00 and not .0, 403201.01 and not 403201.1?
I don't know why the replies are hidden right now , but I was talking that I'm using the ordinary MBTCP not using the driver of Somac and the way of (:1 , :0 ) was working good when reading memory words from PLCs through this MBTCP driver
Hi Ahem, we migrated the community to a new instance over the weekend. Your replies were posted in the old one, so I’ll copy them over for you.
Thanks
Same thing for my reply yesterday, so if that could be made available as well that would be great
Iam using AVEVA Intouch HMI 2023 P01 , Iam communicating through it to Schneider VFDs Altivar 630 for example and Iam reading from the holding registers in my OCMC Configuration .
I've also tried .00 and .01 and it doesn't work
I understand, I know Integers in system platform resolve bits by doing this so it was just a guess :)
But if it is a register in the PLC it might require you to check to see if there is anything mentioned in the documentation, but since I don't know the driver you are using I got some mentions from the SoMac driver, perhaps this could help.
As a workaround, if you pull the integer value from the driver using an Integer tag, then you reference your IO tag from a boolean tag using datasource (view/tagname) and use the tagname.00 for bit 1 as item.
But I would believe finding the correct documentation for the driver is the best thing to do.
Examples of SoMachine Item References
I'm not using SoMac Driver , I'm using the ordinary OI.MBTCP I've used Will it have a problem ?
I think no , because I've succeeded read the variables in their integer mode right
But the main issue for me is of extracting the bits
I've extracted it inside using Bit State in the animations
But I need to configure alarms by extracting variable from a bit in a word
So I need to find solution for this problem .
And Also for the PLCs , The way to extract bits from memory words by typing like this (:0) is working well but I don't know why it's not working with the holding registers of the VFDs
Thanks for clarifying, I just assumed you were using a brand specific driver but Modbus should be fine and is well used by many others.
In MBTCP you are correct in that adding :1 to 16 extract the bit,
and the MBTCP driver has some settings related to how bits are managed, witch can make things slightly confusing when doing a direct bit reference, but i guess you have already sorted that out since you are using them in animations.
By default Swap bytes are turned on, witch reverses the bit order, and by default it will start on bit 1 (not 0).
But you mention that it works for you on your memory words, but not the holding registers (?), could it be that it identifies those as another datatype? Perhaps the value you try to access is in a format not supporting bit references. (older versions did not support 64 bit datatypes, but that should be ok in versions 2020 R2 and above).
Check in the diagnostics what it displays if you retrieve the full register (without the ':x')
The alternative is to bring in the full integer value in to a tag in InTouch and do the bit-masking here.
Ether by a discrete IO tag, referring to the integer value, getting the bit here.
Or by a data change script that copies the correct bit value to a memory tag
Then you set up alarming on this additional tag.
Not the ideal solution, but if everything else fails, its at least an option.
I am not personally experienced with the Schneider VFD so perhaps there are some special cases here.
Perhaps someone here on the forum has more knowledge on how this is done.
Reviewing the documentation for the MBTCP driver could also gain some insights on how this is managed.
https://docs.aveva.com/bundle/sp-cdp-drivers/page/192116.html
(older pdf version)
https://gcsresource.aveva.com/support/OIServer-RME/2020/OIMBTCP.pdf
Reaching out to techsupport might also be an alternative to see if they have some better ideas.