Delta AS218RX Programming

MZFarhad

Member
Join Date
Jan 2024
Location
Johannesburg
Posts
1
Greetings everyone.
Apologies for the long post in advance.

For some background
I'm an Electrical and electronic engineering student, and I recently joined a research group. My first job was to use a PLC to control a temperature controller connected to an oven via MODBUS, and then connect the PLC to a router so that it can be monitored/ controlled from anywhere in the world. This was the first time I ever touched a PLC, but some how, through a lot of trial and error I managed to get it to work.

My next, and current task is to use a Delta AS218RX PLC to control/ monitor an inverter via Modbus, but the devices seem to work differently. I can't seem to get it to work.

I am unable to get the values that I need from the inverter.

When I used the temperature controller I could just setup the com1 settings in hwconfig, and then in the program use a sending request for com1, then set a NC contact followed by a MODRW function block, then at the end set the data com1 complete coil.
It worked well, and I thought it would be a simple carry over to get it to work on the inverter, It does not.

So I started with just trying to read one value, (Measuring the output voltage) which I managed to do, however the value would not change, It would stay constant, at around 229 V. If I switched the inverter off, the value would not drop, so I tried using a pulse contact, and this solved the problem. The value would refresh with each pulse.

My problem now is that I can't seem to do more than one reading. I have attached a picture of the current program, but it does not work.

My thinking is that I have to open and close a contact for each MODRW function, but I can't seem to get it right.

I have almost no experience programming PLC's and lack fundamental basics, which is why I am asking for help here.

My thinking is that in the program I have to set a contact as closed, take the reading, then open the contact and close the next one, and repeat this process so that all the reading are taken.

Im not sure where the issue is in the code, but it does not work, the contacts m49, m50 and m51 do not open and close as intended.

Im sure I am making a stupid mistake, but I am currently stuck. any help would be greatly appreciated.

plc prog.jpg
 
The [-| |- SM407]+[-|/|- M] pairs can be replaced by a single rising edge detector [-|^|- SM407].

This is only one way to skin this cat. A simpler way would be to have an integer count 0,1,2 on SM407 rising edges and then reset to 0.

Untitled.png
 
but I am currently stuck. any help would be greatly appreciated.


It's possible that your code would work if you reversed the sections: M51 at the top, M50 in the middle, M49 at the bottom.

PLC programming is primarily about time, and the scan cycle is the clock. When something happens is often more important than what happens.
 
Another possible solution.

The [-| |-SM407]+[ONS M] pair is equivalent to a single rising edge [-|^|- SM407]. The -|L|- and -|U|- (Latch and Unlatch) instructions are the same as Delta's -|S|- and -|R|- (Set and Reset) instructions, respectively.

This extends the M49 pulse through the M50 and M51 pulses, as well as extends the M50 pulse through the M51 pulse, but since each MODRW will only act the rising edge of those bits, it should not matter.

Again, note that this would not work if the time order of the latches/sets on the second rung were reversed (M49 top/first, M50 middle/second, M51 bottom/last). When something happens is more important than what happens.
Untitled.png
 
Using a counter with its built-in edge detector and integer comparisons is possibly the simplest solution; it's also easily extensible if more Modbus registers need to be read in the future by adding only two new instructions and incrementing the counter preset. The coils writing M49/M50/M51 could be replaced by the MODRW instructions directly and those bits eliminated.
Untitled.png
 

Similar Topics

Good Day to all of you, this is my first post, i will try to explain as best as possible, english is not my natural language. I am performing an...
Replies
0
Views
38
I'm trying to write a data in Arduino using MODWR function block .I used the code I got from online for both PLC and Arduino. I made the wiring...
Replies
4
Views
116
I have downloaded COMMGR 1.15 software on my laptop. After downloading it works. When I stop and start the program again it doesn't work. It is...
Replies
2
Views
152
commentaire communiqué siemens s7-1200 avec vfd delta ? (cablage et sur tia portal )
Replies
0
Views
131
How i Can connect Delta plc, with Beckoff remote IO cards?
Replies
2
Views
174
Back
Top Bottom