-
Content count
1801 -
Joined
-
Last visited
Posts posted by Michael Walsh
-
-
They are not interchangeable. CX-Integrator is for configuring Omron networks and setting FINS routing tables. Network Configurator is for setting up DeviceNet and EtherNet/IP. There is a little overlap when it comes to DeviceNet, but I think that is the extent of the overlap.
-
P_First_Run contact.
-
P_First_Run contact.
-
Please be careful when submitting posts. I just deleted about 10 of your posts that were the exact same message as this one.
1 person likes this -
Please be careful when submitting posts. I just deleted about 10 of your posts that were the exact same message as this one.
-
There is no dispute. I was not comparing your MQTT solution to the Omron Function Block Solution. I was simply stating that there were MQTT function blocks available on the Sysmac platform. I have not looked at your solution at all and make no claims about its performance. Please stop trying to create a dispute - there is none.
-
In response to your point #1: Sysmac Platform = NJ/NX controllers. So, yes it was mentioned that the FBs only work with the newer controllers.
My comment was not meant as an attack on your solution, just a note for others that might read this: there are options that Omron offers with the newest platform that do not require adding a PC with custom software to the mix.
-
@alfi_yasin I believe that he uninstalled CX-One and ran the uninstaller utility to clean it completely out and reinstalled. I tried to just send the upgrade files, but he was unable to make it work.
-
Transferring from the PLC to the PC (I think this was what was intended) does NOT stop the PLC.
-
For some reason, I cannot post a picture here. So, here is a link: https://omca.box.com/s/9golymrzwszr4l6u3bbnqx9f61g79beg
I think the drawing is correct. My mneumonics are a bit rusty. Edit: Yes, I just entered it (in mneumonics) into CX-Programmer with different addresses (to work with the newer PLC) and it looks like my hand drawn image.
-
The Omron Sysmac platform has MQTT Function blocks and works quite well.
-
-
It is not automatic, but you could certainly do this with the program.
-
3 hours ago, BITS N BYTES said:Wow learn something new everyday! That is really useful. Thanks Mike!
You are quite welcome. This of course works with structure variables and simple arrays.
-
From the author:
The print statement is printing raw bytes as that is the response from the PLC. By default Python’s print will format any printable characters as ASCII, which you can detect by the fact that they are not preceded by the \x statement indicating they are hex. With this in mind the % character is ASCII value hex \x25 and U is ASCII value hex \x55, which leads me to believe it is a process value and the least significant byte is noise (hence the 55 vs 57 difference from the memory table). Normally the programmer would slice the bytes that they read off the response and format them the way that the intend to use them (FINS doesn’t know if that hex value is an integer, unsigned integer, real, etc.). If you always want the response in hex, you can use the binascii.hexlify library.
-
20 hours ago, MasterConnection said:I ended up going this route. Thanks guys. Guess I have found the difference between platforms. Siemens and Rockwell is real simple to achieve this. Wish at least there was a way to write comments in the union array bools.
You can comment on the bits. I cannot attach the picture of this as there is something wrong with the website. Go into the global variables after you have created the union and then created the variable of that union type. Double click in the comment field and a little gray button will show up. You can then comment the DWORD and all the BOOLS.
1 person likes this -
I received a reply from the author of the library (his email is also in the source code and on the contact page at the link provided above):
It is all hex according to the memory address designation of FINS so 1234 would be \x04\xd2 and since it is a DM, the bit designation is \x00, so it would be:
mem_area_dm_word = fins_instance.memory_area_read(FinsPLCMemoryAreas().DATA_MEMORY_WORD,b'\x04\xd2\x00')
print(mem_area_dm_word)
-
A union will do exactly what you want.
I cannot post an image to illustrate it for you (something is wrong with the site), but you can create a Union that looks like this:
Name Base Type
TestUnion UNION
DWordLevel DWORD
BitLevel ARRAY[0..31] OF BOOL
Then create a variable (lets call it MyVar) that is of type TestUnion in your global variables.
Then you can do a move DWORD#16#F into MyVar.DWordLevel
The bits can then be monitored on contacts or coils as MyVar.BitLevel[0] as an example.
-
A colleague of mine has done extensive work with Python and communicating with Omron PLCs.
Here is some FINS Python stuff that might be useful:
-
You can simulate both, but the NB-Designer software simulation does not have the ability to connect to another simulation. Omron's NS and NA screens can do this, but not the NB. It only has Offline Test Mode.
-
I am not clear on what you are trying to do here..... is this some kind of custom number format that you are trying to use? I think what you would need to do with a custom format like this is to create a union. The union will allow you to look at individual bits as well as a WORD or DWORD value.
-
You have to set the port up to RS232 mode in the settings and then use the TXD command. Of course you have to wire the printer serial port properly to the port first.
Pinout here: https://www.myomron.com/downloads/1.Manuals/PLCs/UNITS%20CJ_CP_NJ/CP1W-CIF01_CIF11_CIF12%20Pages%20from%20W471.pdf
-
Did you set it as an absolute encoder in the axis setup?
-
Ah, I understand. Writing constantly to a retained variable will not reduce the life of the memory. The retained memory is only stored when the processor is powered off. The capacitors in the CPU give it time to do so.
Tunning by Ladder
in NJ Series / Sysmac Studio
Posted
There is a function block in the 1S library. You can get the 1S Library by logging in here:
http://www.ia.omron.com/product/tool/sysmac-library/
Then add the library to your project. There is a sample program in the link above as well.