Home AMX User Forum AMX General Discussion

axcess, axcent 3 and a novara

I have a novara keypad connected to an Axcent 3 on the 6th rs-232. When you push button one on the novara it sends a string f2981101 I want this incoming string to turn on relay one.

attached is my axcess file, but it does not work, I see the status light on RX of the axcent 3, using terminal I can use on relay and it latches, so I believe the axcent 3 works, connecting to the novara with hyterm I get the above string, so cabling and devices are not a problem.

Comments

  • RogerSRogerS Posts: 9
    You can try the following:


    if (find_string(BUFFER,'F2981101',1)) {
    ON[Relay,1]
    CLEAR_BUFFER BUFFER
    }

    Tested this with a NetLinx system and it works (I compiled it in a Axcess project so it should be valid)


    Also i noticed that in the program you use ''F2981101' while in the test you use 'f2981101'
    There is a difference in f and F when comparing them.
  • HedbergHedberg Posts: 671
    locknar wrote: »
    I have a novara keypad connected to an Axcent 3 on the 6th rs-232. When you push button one on the novara it sends a string f2981101 I want this incoming string to turn on relay one.

    attached is my axcess file, but it does not work, I see the status light on RX of the axcent 3, using terminal I can use on relay and it latches, so I believe the axcent 3 works, connecting to the novara with hyterm I get the above string, so cabling and devices are not a problem.

    Ok, I just looked at some Novara documentation and it says that when you push button number 1 it sends the following:F2h 09h 81h 10h 01h. That is not at all what you are trying to match. Try searching for this string instead:

    "'F',$02,$09,$81,$10,$01"

    You need to understand the differences among, for example, '10', 10, and $10. The first is a two byte character string, the second is decimal 10 and the third is a one byte hex representation of the decimal integer 16.

    added: If this doesn't make any sense to you, look at the manuals section on the AMX website. Under archived manuals/development tools you will find a tutorial and a language reference guide for the Axcess language. These documents explain how strings are put together, the relationship between decimal, hex, and string literals and how to use these things in Axcess code. You can also find a utility called "OpenAxcess" which will make diagnostics with an Axcent system easier.
  • RogerSRogerS Posts: 9
    RogerS wrote: »
    You can try the following:


    if (find_string(BUFFER,'F2981101',1)) {
    ON[Relay,1]
    CLEAR_BUFFER BUFFER
    }

    Tested this with a NetLinx system and it works (I compiled it in a Axcess project so it should be valid)


    Also i noticed that in the program you use ''F2981101' while in the test you use 'f2981101'
    There is a difference in f and F when comparing them.

    Didn't notice the message was from a Novara so ignore this. (only saw the string message)
  • locknarlocknar Posts: 30
    thanks everyone for the help. I had noticed that when the novara was pushed the RS-232 led flashed twice. Also I had completely forgot about open axcess. So I used Openaxcess and discovered that the Novara sends a string out twice, the second string is different than the first. And as pointed out it is in hex.
    So the code is
    If (Buffer = "$F2,$09,$81,$01")
    { on[relay,1]
    clear buffer
    }

    on the second flash it drops the 10.

    All works great.
Sign In or Register to comment.