To solve this optimization problem, we will use linear programming techniques. The goal is to maximize revenue given the constraints on burritos and tacitos sales.

Let's define two decision variables:
- $B$ = number of orders of burritos sold
- $T$ = number of orders of tacitos sold

The objective function (to be maximized) represents the total revenue from selling both burritos and tacitos. Given that each order of burritos costs $17 and each order of tacitos costs $12, we can express this as:
\[ \text{Maximize} \quad 17B + 12T \]

The constraints are:
1. The food truck must sell at least 30 orders of burritos: \( B \geq 30 \)
2. The food truck can make at most 100 orders of burritos: \( B \leq 100 \)
3. The food truck must sell at least 20 orders of tacitos: \( T \geq 20 \)
4. The food truck can make at most 150 orders of tacitos: \( T \leq 150 \)
5. The total number of orders cannot exceed 250: \( B + T \leq 250 \)

All decision variables are non-negative since negative sales do not apply in this context.

Now, we will translate these constraints and the objective function into Gurobi code to be executed in Python:

```python
from gurobipy import *

# Create a new model
m = Model("FoodTruckRevenue")

# Define the decision variables
B = m.addVar(lb=30, ub=100, vtype=GRB.INTEGER, name="Burritos")
T = m.addVar(lb=20, ub=150, vtype=GRB.INTEGER, name="Tacitos")

# Set the objective function to maximize revenue
m.setObjective(17*B + 12*T, GRB.MAXIMIZE)

# Add the constraint for total orders
m.addConstr(B + T <= 250, "Total Orders Constraint")

# Optimize the model
m.optimize()

# Print out the results if an optimal solution is found
if m.status == GRB.OPTIMAL:
    print(f"Optimal number of burritos to sell: {B.x}")
    print(f"Optimal number of tacitos to sell: {T.x}")
    print(f"Maximum revenue achievable: ${17*B.x + 12*T.x:.2f}")
else:
    print("No optimal solution found")
```