Search the Community

Showing results for tags 'rs function'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 55 results

  1. 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
  2. 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.
  3. 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.
  4. 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...
  5. 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...