Search the Community

Showing results for tags 'function block'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 70 results

  1. CP2E

    Hi I would like to check if CP2E have this function GETID as I want to conver CP1E program to CP2E.
  2. I have an Omron NX PLC  NX1p2 which Supports EtherCAT . also I have Balluff BNI00HA Ecat Block(IOlink Master). I have setup communications and connected a BNI004K balluff I/O device. I managed to get inputs and i can read it as well. but to set the pins of BNI004K as outputs i have to configure the module by accessing its Index and Subindex. I tried with IOLwrite Block but it says 16#4802 error. Also an Engineer from balluff suggested me to use CoE block but while reading the description is said CAN over EThercat. WHile my devices are IOLINK.. If Anyone can Help.Please. SS1 - Is the error I am getting on IOLink instruction SS2 - Is what i did. which is an IOlink Write block from Omron SS3 - is what balluff Engineer suggested.
  3. Good day everyone. I am new to PLC although I understand the design process and sequence of what I want to accomplish. This is my first time working with the Mitsubishi gx works3 so there's a learning curve. I am more comfortable with function blocks so I intend to stick with it for the mean time. I am having some challenges with a logic connection that I hope to get some help. So I have 3 pumps that I would want to rotate whenever one of the 3 inputs (float switch) is activated. I am using a counter and some comparism logic (EQ, GE, LE and some logic gates). I have setup everything as needed but the EQ logic output that I want to use to reset the counter will not connect to the R (reset) input to reset it after I reach my max count. I want this to be automatic reset after every max count reached. I have attached a screenshot and marked with red the part that will not snap (connect). If there is something missing, please let me know or if there are better options to accomplish this, I am welcomed to any help
  4. Hello everyone, I'm writing a block in GX Works3 to perform the "Home" operation of a servo motor. (The algorithm inside the block has been tested and is working.) However, in projects with many servo motors, I want to use the block. The axis number will be requested from input the block, and the value received needs to be indexed into the places labeled as "Axis" within the block. And I need values like (4*(AxisNo))+2 inside some structure labels. The function block I want to create will look like the attached file. Which methods should I use to achieve this, and how can I do it? I tried using arrays but couldn't succeed.   Example; If I enter a value of 2 for the Axis, the labels below will look like this: FX5SSC_1.stnAxCtrl2_D[Axis].uPositioningStart_D.0                               ====> FX5SSC_1.stnAxCtrl2_D[2].uPositioningStart_D.0          FX5SSC_1.stSysCtrl_D.uExternalInputOperationDevice1_D.(4*Axis+2)   ====> FX5SSC_1.stSysCtrl_D.uExternalInputOperationDevice1_D.10    
  5. I would like to make a function block to generate a real time sine wave in a Omron NX1P2 controller. Inputs would be on/off and frequency. Output would be the sine wave tag (REAL). How can I do it? Thanks in advance for your help.
  6. Function block on ST for algorithm DIFU DIFD View File An example on ST is the definition of the fronts of a discrete signal. Submitter drYurban Submitted 10/05/22 Category PLC Sample Code
  7. Hi,  I write a CAM function to sync 2 axis (Rotary & linear). i am using a virtual servo as master, and 2 physical servos as slave. The problem i facing is, with the exact same CAM profile setting, when difference speed used will give difference result of movement. Below is my setting, Master axis     linear motor move 0-180degree   0-500mm 180-360          500-0   when running with slow speed, it move following the CAM profile setting, however, when moving in fast speed, the linear motor will only move halfway then start to moving back 0 already. Has anyone encounter this issue before? is it i missed out some setting? Thanks.
  8. Hi All, I need access to a the Safety function blocks within a safety CPU using sysmac studio on a machine we are upgrading.. Is there a generic password available to gain access? Best Regards, Paul  
  9. Hello, In GX Works2, what do asterisks before function block input and output variable names mean? Thanks,    
  10. Version 1.0.0

    53 downloads

    PRNG algorithm packed into a functional block. As an example of using ST language for Omron CJ series PLC.
  11. Function block RANDOMIZE on ST View File PRNG algorithm packed into a functional block. As an example of using ST language for Omron CJ series PLC. Submitter drYurban Submitted 10/05/22 Category PLC Sample Code
  12. Version 1.0.0

    40 downloads

    An example on ST is the definition of the fronts of a discrete signal.
  13. valve_control

    Version 1.0.0

    70 downloads

    A working example of an FB to control a valve from an HMI panel. Controls closing/opening times, plus a little visualization.
  14. valve_control View File A working example of an FB to control a valve from an HMI panel. Controls closing/opening times, plus a little visualization. Submitter drYurban Submitted 10/05/22 Category PLC Sample Code
  15. GX Works3 Projectlib Locked

    Hello, I have a problem that I need to solve in a PLC program has it's projectlib locked.  I work for a company that contracted a PLC programmer before my time to program their new version of their control cabinets. The company did not write any specific contract with the contractor and just relied on his work. The guy later delevered a buggy software that is kind of functional (the bugs came up at the commissioning after the guy was paid and now he refuses to help or to provide more consultations). I have as a task to freshen this up and make it work without bugs, the problem is that the Projectlib is locked and I cannot access the source code.  The only thing that I can changes that I can make to the code is to put some logical circuits between the I/O of the already existing function blocks, which solved some problems, but not all and it keeps one of the most important ones as well. Anyways, that's my story, so now my question is, is there and possible way of unlocking the projectlib? Any feedback would be highly appreciated. Thanks in advace!
  16. Hi, I have quite a noobie question. I want to create a function block to do some simple operations on 2 variables. Both variables are In/Outs (see picture attached). How can I make this function accept variables regardless of the data type? Given these is just simple math I am able to use the same instructions in REAL, INT, UINT, etc. But, the function block only lets me assign one Data Type to the In/Out variables.
  17. Delta isp fb

    Does anyone have some delta isp function blocks they can share with me please
  18. hello Every one,    I am using a CP1-L PLC and want to communicate to domino ax350i printer over TCP/IP socket programming. For socket programming, I used Omron Function Block CPU012_SendCommand.  I defined network ID and node address. However, I am getting 0502 error which means routing table is not set yes. So, how can I set routing table for both devices?. my PLC on 192.168.250.1 and Printer is on 192.168.250.123 node 7000.    Can any one suggest me best way to do.  Thank you   attached file is for what I did in setting and program for the communication.      
  19. Hi there, I am fairly new to programming serial communications, especially with Mitsubishi PLCs. Can someone walk me through in ladder logic how to bring in ASCII to the PLC, store the data in the data registers. Then send the data out to another PC once an 'X' input is satisfied? ASCII code would go like the following: C2,0,1,123,2,ABC,3,456,CR
  20. Hello everybody, i have some uncertainties going through my head. i am fairly new in PLC word, graduated last year, last 12 month i did project on Siemens PLCs, but now i have to expand my view with Mitsubishi. 1. i am working on project with several conveyors. for each conveyor type i have FB fairly similar to my FB in siemens. For all conveyor i am using same sdt containing 32 bits. So a have array[0..20]  of said sdt. But in fb i was not able to copy item from array, through input var containing index of that item to vocal variable, which i wanted to write back to the array at the end of fb. I tried different approach ->  using item from array *** input/output.  When monitoring item from array i can see, that variables i change in got2000 panel are in fact changing. But when i monitor fb itself, those same variables are not changing. i reworked this fb several times, for example when i found out that FB variables FB FXcpu cannot be set as retain so i would like to use it and i see no other way than make this fb work. :D 2. Is there possibility to us FB in another FB? I remember that i read some restriction about this, but now, i cannot find it. Thank you everybody for your responses    
  21. Hello from korea :)   actually i am new to company which i do freelancer job and i am not used to dealing machine with sysmac studio its hard to make things perfect...   its just simple thing move servo motor.. you can check my situation more closer if u see the picture that i uploaded   i think control servo motor By function named MC_MoveAbsolute4(Axis,execute, parameters......) i just use that function by put them in while loop so that i can check the move of motor but nothing happen lol   What can i do!
  22. RSLogix5000 Transfer function Bumpless transfer between two inputs. If criteria or FLAG is true, then transfer from input-1 to input-2 at a prescribed ramp rate, and then release the output to match the selected input without rate restrictions.  Issue: The issue is that upon the status of particular input (FLAG), the control valve demand jumps from 0 to whatever the output of the PID’s Low Select value is (maybe 50% or 80% or other). Request: Ideally, I would like to mimic or replicate the Transfer algorithms provided in other control systems, as described below . The TRANSFER algorithm performs a transfer between the two inputs.  The output is equal to the IN2 input if the digital input FLAG is TRUE, and the IN1 input if the digital input FLAG is FALSE.  The algorithm automatically performs a bumpless transfer between the track input and the selected input when a tracking request is removed.  The algorithm ramps to the selected input (IN1 or IN2) at the specified track ramp rate (TRR1 or TRR2).  Internal tracking may be selected to allow a bumpless transfer between IN1 and the IN2 inputs.  Individual track ramp rates may be initialized to ramp from the IN1 to the IN2 and from the IN2 to the IN1. Attached is RSLogix5000 program "transfer.acd" Thanks.
  23. Hello, I am new to automation and I do a project with a Micro850 Plc. I am more comfortable with logic block so I write my program in Function Block langage on Connected Component Workbench software version 12. I would like to make flashing a light but I don't know wich block to use and how to program it ... Could you help me. Thank you
  24. Hello, In past i was using Siemens S7 300 and Simatic 5.3. So a long time ago. I restart look back to plc because i need to monitor the temperature of my heating system. So bought a plc that is a IEC61131-3 standard and  OpenPCS as Develop software.  So i begin to play with OpenPCS because  Im very rusty.  SO i create a function, that i named FC_TEST . When i compile the below code i get an error E: S5004: Function blocks instances are invalid in 'FUNCTION'-POUs, STRUCTs, and in ARRAYs.  It seams that Timer block inside the function FC_TEST are not allowed, i understood right ? (*  --------- DECLARATION  ---------  *) VAR_INPUT T_1 : TIME ; (*Declare T_1 as a Time Input ==> Set the Time of Timer *) START : BOOL; (*Declare START ad BOOL Input ==> Start The Time of the TIMER *) END_VAR VAR MY_TON : TON; (*Instantiate MY_TON as Timer type TON*)  END_VAR (*  --------- FC PROGRAM  ---------  *) MY_TON(IN := START , PT := T_1 ); FC_TEST := MY_TON.Q;   (*  --------- CALL THE FC---------  *) tmp2 := FC_TEST(T#2s, I0_0);  (* I0_0 is a input*) Thanks  Marco  
  25. I'm using simple function block, one input and one output, like in this example: Problem I have is how to call function block and use inverted (NOT) value , ie instead 5.01 I need to use NOT (5.01) . Of course I could create new symbols that are inverted values of actual inputs but i'm trying to avoid that, number of addresses is significant.