Search the Community

Showing results for tags 'function block addressing'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 76 results

  1. Can Anyone Come Up with the Screen Shots or a video link of procedure for Displaying Real Time Sinusoidal Waveforms From Satec MFM ON GE FANUC?? I have PACsystem RX3i via Serial Communications Module-IC695CMM002 
  2. can you help me? bring me some example to build function block program with Gx Works? I use Q02U CPU   thanks
  3. where are the FB libraries

    Hello, Im looking for the in built function blocks, but i cannot find it in the program files/ omron folder where the manual says (even with search for *.cxf), perhaps i dont have it installed, but where can i get them from? As i remember i downloaded cx-one from the official omron web page after login etc, so thats why i dont understand why am i missing the fb libraries What else place there is to find useful FB-s? Thanks!
  4. Hello.   A colleague sent me a screenshot (attached) with a peculiar issue. An ADD function that only sends 0 as the outcome, and a DTOS function that only sends " . I have confirmed that all variables used in the ADD block are declared as integers, and both SumInt6 and String10 are not currently being modified somewhere else.  This impatient colleague is baffled, while I am just sharing this issue in the hopes that someone will eventually come with the simple answer that we are overlooking, or a complex one that we could never hope to realize by ourselves.   Thanks in advance.
  5. Unable to Monitor in GXworks2

    Hi! Anyone can help regarding this issue. I'm not able to monitor the Motor Block that I have created. there's no error either in the output screen but i'm thinking what is the cause of not running in the simulation which shows the Motor Folder RED  even it was compiled. thanks for the help!     Note: I'm new in mitsubishi.
  6. Function block self-made

    Hi, i want to make a function block which will contain a block GP.CPRTCL (for predefined comm protocol). GP.CPRTCL has an input "Un" who only receives constant (H,K). On input of my own function block i can set a constant variable, but inside block that variable isn't a constant anymore (GP.CPRTCL doesn't recognize a variable). Is there a way for receiving constant variable in GP.CPRTCL block ("Un") if it is in another block. Regards
  7. Beckhoff PLC Counter

    Hi everyone, I need some help with my PLC programming. I am currently using a twincat 2 software and a Beckhoff CX 8090. Basically, the gist of my program is to send and receive data and datalog the input data received from the sensors and timestamp the received data for every 1 second. I want to create a boot up counter where it will count the number of times my data logging program has restarted(if it did). This boot up counter serves as a health monitoring check to ensure that my program is running perfectly and thus, not restarting randomly when it shouldn't. I am more familiar with structured text so if you have a solution, kindly post it in structured text form. Your help would be greatly appreciated. Best regards, DeadPool
  8. Hello. I'm trying to use index addressing inside function block.  The command *D200 doesn't work. Is it necessary to use IR0, ID0,... inside function block? Thanks. Best regards
  9. Addressing limit alarm

    Hai, I have some question. How can i modify the limit alarm  on runtime project via screen.cim? I want to modify limit alarm value on the point ID with other point ID (Type Virtual), but i can not find the field to fill the point ID (virtual). Please give me some solution for this problem.
  10. in Citect i use the following function to associate various Tags with the next popup window, in the previous versions the tags passed to the trend fine since upgrading to 7.4 the trend pens dont display but all the values display fine.  FUNCTION // function AssPIDPopup // Expand a full set of PID tags and open // the PID block supergenie AssPIDPopUp(STRING sSGenie,STRING sBasePIDTag)     AssVarTags(-2,0,sBasePIDTag + "_PV");      AssVarTags(-2,1,sBasePIDTag + "_SP");      AssVarTags(-2,2,sBasePIDTag + "_OP");      AssVarTags(-2,3,sBasePIDTag + "_MAN");      // Now the tags for the PID tuning SG     AssVarTags(-2,4,sBasePIDTag + "_KP");      AssVarTags(-2,5,sBasePIDTag + "_KI");      AssVarTags(-2,6,sBasePIDTag + "_KD");      AssPopUp(sSGenie);      END I added a button to run the following code FUNCTION Loadtrend()     TrnSetPen(19, 1,  AssInfoEx(1,0));     TrnSetPen(19, 2,  AssInfoEx(2,0));     TrnSetPen(19, 3,  AssInfoEx(3,0));     Prompt("Test");      END     when clicked the pens set to the trend fine, i tried to run the code from a function but it did not work. i am new to citect and am sure i am missing something stupid.
  11. There are a lot of instructions in function block that are missing the enable input that is present when programming in ladder logic, such as  ADD or MOV.  It seems to be very limiting. The only way around it that I know of is to write your own function block in ladder logic or statement list and use that. I seems rather limiting of a language if it relies on other languages for it to be usable. Does anyone know why the enable bit was left out in many function blocks when it is so useful in ladder logic? Pat
  12. I'm having trouble with some very basic programming using function blocks. Specifically Connect Components FB programming, but I think it is a general, common application. Using ladder logic, it is easy to set a value based on the status of a bit. If the bit is false, move a zero into the variable. If the bit is true, move and 88.0 into the value. This relies on the enable bit of the mov instruction in ladder logic. Many function block instructions do not have enable bits. How would I change the value of a variable based on the status of a bit using function block programming? A real world example: You have a two position selector switch. If it is turned to the left, the drive runs at 0 Hz. (off) if it is to the right, it runs at 88.0 Hz. Or if you have a 4 position selector and want to select between 4 speeds. This should be a simple task, right? I've called the tech connect support line a few times and sent them a few emails and they haven't been able to figure it out. This is such a basic task. Thanks, Pat
  13. Dear Experts!!!   Could you please provide me the sample of "QD75MS Module & MR-J3-B program with functional block"    As you can see the page no. 3  in the attached document  "KI-Doc_QD77MSXX_MR-J3-XXBS.Zip" sample is there but i am not able to find it anywhere.   Or if you have any otherone please share it.   Please help!!! KIdoc_QD77servo_English_20130131.pdf
  14. Hi there I'm an embedded software engineer mostly programming C/C++ in Linux and have very little knowledge of the PLC environment.  Recently my attention was diverted towards integrating C/C++ (Linux software) into PLC and then presumably as a function block which is supported with something called PLCOpen. Is that right ? How is multithread support in PLC in general ? and/or with the these function blocks or what ever might become instead when integrating/porting C/C++ code into PLC.  The current situation is purely embedded Linux environment with open-source 3rd party userland that our code relies heavily on. How feasible is to port such environment over to PLC (given that the system supports it) ? I've been looking into B&R Automation Studio 4 and having a hard time to establish concrete feeling on how difficult/easy it is to port the code.  Hope anyone can give me a slight insight into this.  Kind regards Einar
  15. Block Set or Block Move

    Hi:     in Omron there is a command BSET which can be used to set value from DXXXX to DXXXXn. Example BSET #0 D2000 D30000 What is the similar command in Mitsubishi FX3U structure Ladder?   thks
  16. PAROCK1 for HMI/SCADA View File Now a software solution is available for your Modbus (MB) needs in Rockwell/Allen-Bradley Control Logix or Compact Logix (Clgx) family processors, instead of a traditional 3rd party hardware like Prosoft MVI-56, Molex SST-SR4-CLX-RLL etc.  It is an Add-on instruction (AOI) for PLC/PAC firmware v16 or later, (other solutions are available for pre v16 systems).  For hardware interface, use PLC’s channel 0 (serial) or TCP/IP Interface module(s) to have as many MB TCP/IP devices or serial devices.  (Some limits apply based on system configurations, Comm. settings depending on HW used.) Connect any MB Client/Master or Server/Slave device(s) to your CLgx PLC, including flow computers, analyzers, VFDs, Power Monitors, Level gauges, Smart I/O, etc.  All the MB public/native function codes are supported.  32-Bit integers/floats as single entity are supported with byte and word level swapping. A separate utility automates the data mapping to your PLC logic.  Features -Serial Master (BASIC required Option); TCP; Slave; Redundancy; More than 5000 accumulative registers; MB CFC (Custom/Private Function Code) Support; Data mapping too – Between PAROCK1 & your PLC logic; Packaged with Rockwell; TCP/IP Interface Module; Volume Discounts; Annual Support Requirements -Rockwell/AB-CLgx processor with v16 or later.  Contact PCI for earlier versions. -If using CPU’s Chan0, you cannot use Chan0 for any other user mode activity. You can use it for non-user mode activities -TCP/IP Interface Modules from Rockwell/AB supported, are: -1756-EN2xx ControlLogix® Ethernet/IP communication modules, firmware revision 5.007 or later -1756-EWEB ControlLogix Ethernet/IP web server module, firmware revision 4.006 or later -1768-EWEB CompactLogix Ethernet/IP web server module, firmware revision 1.002 or later -1769-L30ER, 1769-L30ERM, 1769-L30ER-NSE, 1769-L33ER, 1769-L33ERM, and 1769-L36ERM CompactLogix controllers, firmware revision 20.011 or later -1769-L24ER-QB1B, 1769-L24ER-QBFC1B, 1769-L27ERM-QBFC1B CompactLogix controllers, firmware revision 20.011 or later -1769-L16ER, 1769-L18ER, 1769-L18ERM CompactLogix controllers, firmware revision 20.011 or later Other Related Services/Items -Custom PLC Add-on instructions building -PLC upgrades, troubleshooting, applications -PC Windows, iOS5, Linux, Mobile devices Comm. Drivers -Custom development, Technology Transfer Services  -Other Non-AB communication drivers for serial or TCP  -Full control system integration, training, architecture design This driver can be conviniently used with Visual Studio in development of complete large scale complex HMI/SCADA Systems. It can be used to perform advanced reporting MES, analytics, IoT, Big data type apps. One example is available to download here For More Info Overview of Parijat Drivers: Click here  Additional supporting Info about Parijat Drivers:Click here Complete Related Driver options: Click here     Submitter Scadadoctor Submitted 03/10/16 Category Other PLC Demo Software
  17. Hello, I am a student that has been taught ladder logic for three years( on many different plc's ) but, I would like to learn an alternative method is there any way to convert ladder into Function Block or some other type of programming in RS logic 5000 or any other controller? If not can some one explain the basics of Function Block programming.
  18. How to take single bit form input WORD by Structured Text? Can i write somethink like: inVar[i]  
  19. Siemens S7-1500 and SICK

    Hello all, Let me start by saying that although I have been working with PLCs for 20+ years I am very (as in brand) new to the Siemens world (my wheelhouse is AB). That being said I have a Siemens S7-1500 (1511 specifically) CPU with a couple of SICK multi-turn Profi-Net encoders (AFM60A-S4NB018x12) that I need to talk to. - I am using TIA v13 with all of the updates. - I have the GSD file from SICK for the encoder. - I have no clue what I am doing - I can see the encoder values update in the watch table as I move the encoder. All fine and dandy so far... Here's where the white flag is going up.... - I am of the belief that there are existing function blocks out there 'somewhere' that can read and write to the base parameters. I have contacted our local rep who deferred me to SICK. I have emailed and left messages with them and have not gotten a return anything thus far. Here's our application... We are attaching each encoder to its own rotary gear mechanism. The rotary will need to turn in the CW direction approximately 400 degrees then return to its start point by rotating in the CCW direction by the same amount. If/When production/maintenance needs to 'rehome' the assembly, the expectation is that they 'pin' the drive in a known location then a bit would be set within the CPU that would assign a specific value to the encoder's actual position. In the SICK manual (8015078/YIX6/2015-01-16) on page 31 (section 3.6.3) there is reference to Preset control. This is what I believe we need to perform the aforementioned function. Does anyone have any examples that they could share on how to read/write to these encoders by use of a Function Block or other? Relatively desperate for help at this point. Can post test code if need be. Thank you in advance, TLAF
  20. Hi!!! Could anyone please tell me how can i make my recipe function working having : 1. SQL database linkage 2. VBA programme 3. Without making new recipe tags (want to use actual plc tags only, no new recipe tags) I am new to factory talk so please tell me from the scratch. It would be highly appreciable. Thank You.
  21. I am very new to PLC's, I work in a power plant and we have an ABB DCS. We have some vendors that use PLC's and they try to make them work with our system. Currently I am working on a project were I am trying to add 8 analog outputs to the PLC. I am working with two 1756-L71 controllers (redundant) and the rev for the program that was written 20.01. Basically I have 8 analog inputs that I want to bring to the spare analog outputs that I have. I want to see these inputs in our DCS. I wrote simple logic that at the end of the rung has a move block moving the source which is the input and taking it to the destination which I made an alias tag for the output channel that would correspond. Problem is I can see the source number moving, but the destination number stays at 0. I can type a number into the destination and it will work. I can see my 4-20 signal I am sending out in the DCS. Everything before the move function is true, I have and open contact, and a closed contact and they both are green. This is happening on all eight of my outputs that I am working on. Please help I have learned a lot from this experience but I cannot figure out what has me stuck this time.
  22. I have a PLC that i just had to replace the old PLC was an Omron FA-350A the new PLC is a CMP1A-40CDR-A-V1. The programs are almost identical however there are some I/O changes that will need made. I am used to allen bradley PLC's and this is my first time using CX-Programmer. The PLC came preloaded with what was supposed to be the correct program although almost all of the I/O was programmed to the same addresses. I have no idea how the Addresses are structured. Would anyone be able to explain them or point me to a resource. There are also some 200.XX addresses are those bit storage locations? Thank you, Mike
  23. In my program, I have about 100 rungs for 100 faults. Each rung looks very similar. I thought I could make the code more maintainable by using function blocks, to avoid having to change each rung individually (if I needed to). Would it be best practice to create a new instance for each fault, or to reuse the same instance for each fault? I come from a C and java background, so I am confused as to whether a function block is supposed to be like a function (in C), or supposed to be like a class (in Java), or neither...
  24. Let me set the scene. I am inside my function block. I would like move an internal integer into an integer that belongs to my program symbol table. I would like to do it inside the function block, so that the function block is self contained. i.e. it does not need any extra inputs/outputs in the function block call. Is this possible? If I was writing this in Object Oriented code, I would just write this within my method: myGlobalVariable = myLocalInteger; and that would be that...
  25. Hi all, While upgrading HMI from PanelBuilder32 to FactoryTalk View I encounter a problem using I/O to interface with a PanelView Plus. The communication is defined in RSLogix 5 program as Rack 3 group 2 Size 3/4, range 32-37. PLC communication with the panel is not changed, but buttons in old PanelView using I:34 and I:35 work, in the new PV+ they don't, all bits remain zero. Block transfers Read and Write are all sending data to rack 3 group 2 module 0. While testing I noticed O:32 is used as status bits by the Block Transfers - maybe inputs I:34 and I:35 are also used for somethings similar by a new PanelView Plus? Thanks!